【问题标题】:Chrome not found inside docker container在 docker 容器中找不到 Chrome
【发布时间】:2023-03-15 23:35:01
【问题描述】:

我正在尝试在 docker 容器中运行 Selenium 测试,但得到了

错误:ECONNREFUSED 连接 ECONNREFUSED 127.0.0.1:4444

docker-compose.yml

version: "3"
services:
  chrome:
    image: selenium/standalone-chrome-debug
    ports:
      - "4444:4444"
  webtest:
    build: .

testfile.js

var sw = require('selenium-webdriver');
let driver = new sw.Builder()
    .forBrowser('chrome')
    .usingServer('http://localhost:4444/wd/hub')
    .build();
driver.get('https://www.google.com/');

当我在容器外运行 testfile.js 时,它正在工作。面临仅在容器内运行的问题

【问题讨论】:

    标签: selenium docker docker-compose selenium-chromedriver


    【解决方案1】:

    您需要将“http://localhost:4444/wd/hub”替换为“http://chrome:4444/wd/hub”,并配置docker网络。容器“localhost”内部不是您的主机,因此该端口无法访问并拒绝连接。端口映射只适用于容器和宿主机之间。

    至少在容器之间创建一个链接(见下文),最好直接配置网络 (https://docs.docker.com/compose/networking/)

    version: "3"
    services:
      chrome:
        image: selenium/standalone-chrome-debug
        ports:
          - "4444:4444"
      webtest:
        build: .
        links:
         - chrome
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-04
      • 2020-02-15
      • 1970-01-01
      • 2021-10-08
      • 2021-08-15
      • 2017-10-01
      • 2017-10-04
      • 1970-01-01
      相关资源
      最近更新 更多