You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium+Mink+Chrome连接失败报错求助(Ubuntu Docker环境)

解决Selenium+Mink在Ubuntu Docker中无法创建ChromeDriverService的问题

我帮你梳理下这个报错的核心问题点,以及对应的解决办法:

1. ChromeDriver路径配置错误

你启动Selenium的命令里,-Dwebdriver.chrome.driver="usr/bin/chromedriver" 存在路径格式问题——缺少开头的根目录斜杠,Docker环境下必须使用绝对路径才能让Selenium定位到ChromeDriver执行文件。

修正后的启动命令:

xvfb-run --server-args="-screen 0, 1366x768x24" java -Dwebdriver.chrome.driver="/usr/bin/chromedriver" -jar selenium-server-standalone-3.8.1.jar &

2. Chrome运行依赖缺失(Docker环境常见坑)

Ubuntu基础Docker镜像默认缺少Chrome运行必需的系统依赖库,哪怕你已经安装了Chrome和ChromeDriver,也会因为依赖不足导致驱动无法启动。执行以下命令补充依赖:

apt-get update && apt-get install -y libgconf-2-4 libnss3 libxss1 libasound2

3. Behat配置中冗余的Marionette设置

Marionette是Firefox GeckoDriver专属的协议配置,Chrome完全不需要这个参数。你在behat.yml里设置的marionette: true会干扰ChromeDriver的初始化流程,建议移除该配置项,或者设置为false:

调整后的behat.yml相关片段:

selenium2:
  wd_host: "http://127.0.0.1:4444/wd/hub"
  capabilities:
    browser: chrome
    # 移除 marionette: true 配置,或改为 marionette: false

额外验证步骤

  • 先在Docker容器内手动执行chromedriver --version,确认ChromeDriver本身能正常运行无报错
  • 执行google-chrome-stable --headless --no-sandbox --disable-dev-shm-usage --dump-dom http://google.com,测试Chrome浏览器能否正常启动

按以上步骤调整后,应该就能解决Unable to create new service: ChromeDriverService的报错了。

内容的提问来源于stack exchange,提问作者hacklan07

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:29:31