硒在高山3.6容器上运行

问题描述 投票:0回答:2

我正在尝试在Selenium容器alpine 3.6上运行(FROM alpine:3.6)

我正在容器外壳中尝试的内容:

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:消息:未知错误:Chrome无法启动:崩溃(驱动程序信息: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

我该如何解决?

python selenium selenium-chromedriver alpine
2个回答
1
投票

这是我让硒与alpine3.9和firefox一起使用的方法,希望对您有所帮助

花了我很长时间找出理想的版本

geckodriver必须是0.21.0版本

Dockerfile

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()

0
投票

通过以下步骤解决(使用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

安装铬和铬驱动程序:

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')
© www.soinside.com 2019 - 2024. All rights reserved.