我正在运行两个docker容器,如下所示:
一个代表selenium/standalone-chrome
$ docker run -d -p 4444:4444 -v /dev/shm:/dev/shm selenium/standalone-chrome
并且主容器使用主机网络连接到在本地主机上运行的MySQL
$ docker run --rm --network="host" $(IMAGE_REPO)
但是当我尝试在主容器中启动驱动程序
from selenium import webdriver
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub',
desired_capabilities=webdriver.DesiredCapabilities.CHROME)
我收到的错误消息是
urllib3.exceptions.ProtocolError: ('Connection aborted.', BadStatusLine("''",))
或
urllib3.exceptions.ProtocolError: ('Connection aborted.', error(104, 'Connection reset by peer'))
在尝试建立容器时,我是否忘记了任何/任何参数?还是传递给command_executor
的值不应该是'http://127.0.0.1:4444/wd/hub'
?
我也尝试使用docker bridge网络,但后来我不知道如何连接到本地主机上的MySQL服务器
SQLALCHEMY_URI = '{driver}://{user}:{pwd}@{host}/{db}?charset=utf8' \
.format(
driver='mysql+pymysql',
host='127.0.0.1:3306',
user='root',
pwd='0000',
db='default'
)
答案 0 :(得分:0)
更新Dockerfile中的以下库:
将Selenium库版本设置为3.3.1(selenium == 3.3.1)。
即:使用Selenium图像,其版本为3.3.1。
使用 selenium / node-chrome:3.3.1 代替 selenium / node-chrome:3.141.59-gold