Python 在Docker中运行selenium测试

Python 在Docker中运行selenium测试,python,selenium,docker,Python,Selenium,Docker,我编写了一个selenium脚本,当我使用cmd启动它时,它运行良好 我现在想在docker中执行该脚本,这样它就可以轻松地从任何机器上一键启动 我使用selenium/standalone chrome debug中的基本映像编写了一个Dockerfile 我更改了脚本,如下所示: driver = webdriver.Remote("http://127.0.0.1:4444/wd/hub", DesiredCapabilities.CHROME) driver.maximize_windo

我编写了一个selenium脚本,当我使用cmd启动它时,它运行良好

我现在想在docker中执行该脚本,这样它就可以轻松地从任何机器上一键启动

我使用selenium/standalone chrome debug中的基本映像
编写了一个Dockerfile

我更改了脚本,如下所示:

driver = webdriver.Remote("http://127.0.0.1:4444/wd/hub", DesiredCapabilities.CHROME)
driver.maximize_window()
driver.get("www.google.com")
但当我启动它时,我有以下错误:

urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=4444): Max retries exceeded with url: /wd/hub/session (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd11b9e3b90>: Failed to establish a new connection: [Errno 111] Connection refused',))
urllib3.exceptions.MaxRetryError:HTTPConnectionPool(host='127.0.0.1',port=4444):url:/wd/hub/session超过了最大重试次数(由NewConnectionError引起(':未能建立新连接:[Errno 111]连接被拒绝',))

我是docker和selenium的新手,所以我可能忘了什么。

您正在传递本地IP和本地端口号

-您的IP是本地和本地端口

您需要确定您的selenium hub docker
ip
端口
在同一虚拟机上运行的集线器,并更新以下行:

driver = webdriver.Remote("http://127.0.0.1:4444/wd/hub", DesiredCapabilities.CHROME)

您正在传递本地IP和本地端口号

-您的IP是本地和本地端口

您需要确定您的selenium hub docker
ip
端口
在同一虚拟机上运行的集线器,并更新以下行:

driver = webdriver.Remote("http://127.0.0.1:4444/wd/hub", DesiredCapabilities.CHROME)

您是否在docker运行命令中对端口4444进行了预处理?您是否在docker运行命令中对端口4444进行了预处理?谢谢,对于响应,我设法使其工作,事实上我错过了selenium hub步骤谢谢,对于响应,我设法使其工作,事实上我错过了selenium hub步骤