首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Docker中执行Selenium Python脚本

在Docker中执行Selenium Python脚本
EN

Stack Overflow用户
提问于 2022-03-30 19:00:20
回答 1查看 404关注 0票数 0

我正试图通过Selenium在Docker容器中运行一个用Python编写的Selenium脚本。不幸的是,我无法配置远程the驱动程序。

这是Docker撰写文件:

代码语言:javascript
运行
复制
version: "3"
services:
  chrome:
    image: selenium/node-chrome:4.1.3-20220327
    shm_size: 2gb
    depends_on:
      - selenium-hub
    environment:
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443

  firefox:
    image: selenium/node-firefox:4.1.3-20220327
    shm_size: 2gb
    depends_on:
      - selenium-hub
    environment:
      - SE_EVENT_BUS_HOST=selenium-hub
      - SE_EVENT_BUS_PUBLISH_PORT=4442
      - SE_EVENT_BUS_SUBSCRIBE_PORT=4443

  selenium-hub:
    image: selenium/hub:4.1.3-20220327
    container_name: selenium-hub
    ports:
      - "4444:4444"

  python-script:
    build: .

这是Python代码中的webdriver设置:

代码语言:javascript
运行
复制
    driver = webdriver.Remote(
        desired_capabilities=DesiredCapabilities.FIREFOX,
        command_executor="http://localhost:4444/wd/hub"
    )

当我在本地使用这些设置运行Python脚本时,它可以工作。但是,只要我想在Docker容器中启动它,我就会得到以下错误,其中包括:

代码语言:javascript
运行
复制
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=4444): Max retries exceeded with url: /session (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f7b85c41780>: Failed to establish a new connection: [Errno 111] Connection refused'))

我对docker完全陌生,对编程本身也很陌生,所以帮助是非常好的。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-10-27 13:49:54

TLDR :试试:

代码语言:javascript
运行
复制
driver = webdriver.Remote(
    desired_capabilities=DesiredCapabilities.FIREFOX,
    command_executor="http://selenium-hub:4444/wd/hub"
)

它从vs代码中运行本地的原因是本地主机指向您的本地机器。您的码头容器对localhost的含义有自己的理解。当代码在容器中运行时,localhost引用该容器。那个集装箱在监听那个港口吗?可能不会-这就是为什么它不起作用。码头有自己的网络栈!

您想联系的是另一个容器“selenium-集线器”。在docker中,服务名称(或容器名称)成为主机,但这只能在坞网络中起作用。(为您创建了一个默认网络,但您没有指定网络)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71682729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档