高山 3.6 容器上的硒 运行
Selenium run on alpine 3.6 container
我正在尝试 运行 Selenium
alpine 3.6
容器 (FROM alpine:3.6)
。
我在容器中尝试的内容 shell:
apk update
apk add python3
pip3 install -U selenium
apk add chromium
apk add chromium-driver
并且运行宁以下python(使用python3):
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
driver = webdriver.Chrome(chrome_options=options, executable_path=r'usr/bin/chromedriver') # Thrown an exception
并得到以下异常:
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed
(Driver info: chromedriver=2.27 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 5.0.0-23-generic x86_64)
selenium=3.141.0
chromium=57.0.2987.133
chromeDriver=2.27
我该如何解决?
这就是我让 selenium 与 alpine3.9 和 firefox 一起工作的方法,希望这对您有所帮助
我花了很长时间才找到完美的版本
geckodriver 必须是版本 0.21.0
Docker 文件
FROM python:alpine3.9
RUN apk update
RUN apk add firefox-esr
RUN apk add xvfb
RUN pip install -r requirements.txt
requirements.txt
selenium==3.11
pyvirtualdisplay==0.2.1
python代码
from selenium.webdriver.firefox.options import Options
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Firefox()
通过以下步骤解决(使用 alpine3.6):
更新存储库:
echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" > /etc/apk/repositories
echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories
Apk 更新:
apk update
安装 chromium 和 chromedriver:
apk add chromium
apk add chromium-chromedriver
安装python3,硒:
apk add python3
pip3 install -U selenium
下面的 python
代码对我有用:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(options=chrome_options)
driver.get('http://example.com')
我正在尝试 运行 Selenium
alpine 3.6
容器 (FROM alpine:3.6)
。
我在容器中尝试的内容 shell:
apk update
apk add python3
pip3 install -U selenium
apk add chromium
apk add chromium-driver
并且运行宁以下python(使用python3):
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
driver = webdriver.Chrome(chrome_options=options, executable_path=r'usr/bin/chromedriver') # Thrown an exception
并得到以下异常:
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed (Driver info: chromedriver=2.27 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 5.0.0-23-generic x86_64)
selenium=3.141.0
chromium=57.0.2987.133
chromeDriver=2.27
我该如何解决?
这就是我让 selenium 与 alpine3.9 和 firefox 一起工作的方法,希望这对您有所帮助
我花了很长时间才找到完美的版本
geckodriver 必须是版本 0.21.0
Docker 文件
FROM python:alpine3.9
RUN apk update
RUN apk add firefox-esr
RUN apk add xvfb
RUN pip install -r requirements.txt
requirements.txt
selenium==3.11
pyvirtualdisplay==0.2.1
python代码
from selenium.webdriver.firefox.options import Options
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Firefox()
通过以下步骤解决(使用 alpine3.6):
更新存储库:
echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" > /etc/apk/repositories
echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories
Apk 更新:
apk update
安装 chromium 和 chromedriver:
apk add chromium
apk add chromium-chromedriver
安装python3,硒:
apk add python3
pip3 install -U selenium
下面的 python
代码对我有用:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(options=chrome_options)
driver.get('http://example.com')