首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Scrapinghub上安装使用Selenium的xvfb?

如何在Scrapinghub上安装使用Selenium的xvfb?
EN

Stack Overflow用户
提问于 2017-06-09 15:17:13
回答 2查看 730关注 0票数 3

我在蜘蛛(Scrapy)中使用Python-Selenium,为了使用Selenium,我应该在Scrapinghub上安装xvfb。

当我使用apt-get安装xvfb时,我会收到以下错误消息:

代码语言:javascript
复制
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)                                                                                                                                                                
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

Scrapinghub上安装xvfb还有其他方法吗?

更新1

我读了,我试着用码头,我被困在了这个阶段

代码语言:javascript
复制
shub-image init --requirements path/to/requirements.txt

我读过这个

如果您在运行shub映像init时获得了这样的ImportError :您应该通过运行以下命令确保安装了最新版本的shub: $ pip安装shub --升级

但我总是有这样的错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "/usr/local/bin/shub-image", line 7, in <module>
    from shub_image.tool import cli
  File "/usr/local/lib/python2.7/dist-packages/shub_image/tool.py", line 42, in <module>
    command_module = importlib.import_module(module_path)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/local/lib/python2.7/dist-packages/shub_image/push.py", line 4, in <module>
    from shub.deploy import list_targets
ImportError: cannot import name list_targets
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-14 10:05:45

我解决了我的问题(在剪贴中使用硒)

1-用于码头xvfb的

代码语言:javascript
复制
RUN apt-get install -qy xvfb

2-用于创建坞映像我使用了,而安装geckodriver则使用以下代码

代码语言:javascript
复制
#
# Geckodriver Dockerfile
#

FROM blueimp/basedriver

# Add the Firefox release channel of the Debian Mozilla team:
RUN echo 'deb http://mozilla.debian.net/ jessie-backports firefox-release' >> \
  /etc/apt/sources.list \
  && curl -sL https://mozilla.debian.net/archive.asc | apt-key add -

# Install Firefox:
RUN export DEBIAN_FRONTEND=noninteractive \
  && apt-get update \
  && apt-get install --no-install-recommends --no-install-suggests -y \
    firefox \
  # Remove obsolete files:
  && apt-get clean \
  && rm -rf \
    /tmp/* \
    /usr/share/doc/* \
    /var/cache/* \
    /var/lib/apt/lists/* \
    /var/tmp/*

# Install geckodriver:
RUN export BASE_URL=https://github.com/mozilla/geckodriver/releases/download \
  && export VERSION=$(curl -sL \
    https://api.github.com/repos/mozilla/geckodriver/releases/latest | \
    grep tag_name | cut -d '"' -f 4) \
  && curl -sL \
  $BASE_URL/$VERSION/geckodriver-$VERSION-linux64.tar.gz | tar -xz \
  && mv geckodriver /usr/local/bin/geckodriver

USER webdriver

CMD ["geckodriver", "--host", "0.0.0.0"]

来自这里

票数 1
EN

Stack Overflow用户

发布于 2017-06-09 15:19:06

你试过:

代码语言:javascript
复制
sudo apt-get install xvfb

另一种方法是手动编译包,一种是:

代码语言:javascript
复制
apt-get source xvfb
./configure --prefix=$HOME/myapps
make
make install

第三种方法是从源网页.deb下载https://pkgs.org/download/xvfb

下载后,您可以将它转到下载源的路径:

代码语言:javascript
复制
mv xvfb_1.16.4-1_amd64.deb /var/cache/apt/archives/

然后更改目录并执行以下操作:

代码语言:javascript
复制
sudo dpkg -i xvfb_1.16.4-1_amd64.deb

仅此而已!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44461359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档