带有 python3、chromedriver、chrome 和 selenium 的 Docker 镜像

goo*_*ose 8 python selenium containers selenium-chromedriver docker

我的目标是使用由Python驱动的Seleniumdocker容器抓取网络。

我四处寻找并没有找到安装了以下所有内容的 docker 镜像:

是否有人能够将我链接到所有这些都安装并协同工作的docker 镜像

也许构建我自己的并不像我想象的那么困难,但到目前为止它已经暗示了我。

任何和所有建议表示赞赏。

Har*_*ren 10

试试https://github.com/SeleniumHQ/docker-selenium

它安装了python:

$ docker run selenium/standalone-chrome python3 --version
Python 3.5.2
Run Code Online (Sandbox Code Playgroud)

说明表明您以

docker run -d -p 4444:4444 --shm-size=2g selenium/standalone-chrome
Run Code Online (Sandbox Code Playgroud)

编辑:

要允许 selenium 通过 python 运行,您似乎需要安装这些软件包。创建这个Dockerfile

FROM selenium/standalone-chrome

USER root
RUN wget https://bootstrap.pypa.io/get-pip.py
RUN python3 get-pip.py
RUN python3 -m pip install selenium
Run Code Online (Sandbox Code Playgroud)

然后你可以运行它

docker build . -t selenium-chrome && \
    docker run -it selenium-chrome python3
Run Code Online (Sandbox Code Playgroud)

与普通pythondocker 镜像相比的优势在于,您不需要安装 chromedriver 本身,因为它来自selenium/standalone-chrome.


小智 10

我喜欢哈拉尔德的解决方案。然而,截至 2021 年,我的环境需要进行一些修改。

Docker version 20.10.5, build 55c4c88
Run Code Online (Sandbox Code Playgroud)

我按如下方式更改了 Dockerfile。

FROM selenium/standalone-chrome

USER root
RUN apt-get update && apt-get install python3-distutils -y
RUN wget https://bootstrap.pypa.io/get-pip.py
RUN python3 get-pip.py
RUN python3 -m pip install selenium
Run Code Online (Sandbox Code Playgroud)