python - 在 Docker 中运行 selenium 测试

标签 python selenium docker

我编写了一个 selenium 脚本,当我使用 cmd 启动它时工作正常。

我现在想在 docker 中执行脚本,以便一键从任何机器上轻松启动它。

我使用基础镜像 FROM 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',))

我是 docker 和 selenium 的新手,所以我可能忘记了一些东西。

最佳答案

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

http://127.0.0.1:4444 - 您的 IP 是本地和本地端口

您需要确定您的 selenium hub docker ipport在同一 VM 上运行的集线器上并更新您的以下行:

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

关于python - 在 Docker 中运行 selenium 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57971543/

相关文章:

python - PyTorch Gradient Accumulation for small datasets 的最后一步

python - 按给定的任意顺序对字典列表进行排序

java - Selenium:无法从父元素中提取子元素

docker - 修改从父镜像继承的体积数据

java - 无法在 Docker 中部署的 Jenkins 中安装插件

python - 使用 tkinter 进行动态文本标记

python - 根据单独的列将前几行聚合到列表中

python - 使用 Python-Selenium 自动化 GMAIL 登录

java - 如何找到下拉菜单中选定的选项?

node.js - Docker是否具有日志状态,例如错误,警告,信息?