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

无法在Selenium WebDriver中为无头Chrome附加远程调试器

解决无头Chrome无法附加远程调试器的问题

我之前也碰到过一模一样的情况!测试能正常跑但死活连不上调试器,其实就是启动参数里缺了远程调试的关键配置,咱们一步步来改:

核心配置补充

要让无头Chrome支持远程调试,得在chromeOptions.args里加两个必备参数:

  • --remote-debugging-port=9222:指定远程调试用的端口(可以换成你机器上未被占用的任意端口)
  • --remote-debugging-address=0.0.0.0:允许外部工具/设备连接调试端口(如果调试工具和测试机器不在同一台,这个参数必须加)

修改后的代码示例

const options = {
  desiredCapabilities: {
    port: PORT,
    browserName: 'chrome',
    chromeOptions: {
      args: [
        'disable-infobars',
        'headless',
        'disable-gpu',
        '--remote-debugging-port=9222', // 新增调试端口配置
        '--remote-debugging-address=0.0.0.0' // 允许外部连接调试
      ],
      binary: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
    }
  },
  host: envConfig.seleniumUrl,
  // 你的其他配置内容...
};

连接调试器的步骤

  1. 启动你的E2E测试,确保无头Chrome实例正常运行
  2. 打开本地的Chrome浏览器,地址栏输入 chrome://inspect
  3. 点击页面里的「Configure」按钮,添加调试地址:localhost:9222(如果测试在远程机器上,就换成远程机器的IP+端口,比如192.168.1.100:9222)
  4. 等个几秒,页面就会显示出正在运行的无头Chrome实例,点击「inspect」就能打开DevTools开始调试了

小提醒

  • 确认你选的调试端口没被其他程序占用
  • 如果用了Selenium Grid,要确保Grid节点的防火墙开放了这个调试端口
  • 调试完成后记得把这些参数注释或删除,避免不必要的端口暴露

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:50:47