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

Selenium Chrome Driver使用headless选项时触发异常

解决Chrome无头模式下意外退出+端口泄漏的问题

我之前调试无头Chrome的时候也碰到过一模一样的情况,大概率是扩展程序和无头模式的兼容性冲突导致的,给你几个实用的排查和解决步骤:

  • 先做排除法,确认是不是扩展的问题:
    暂时注释掉加载扩展的代码options.addExtensions(new File("C://temp//1.14.12_0.crx"));,重新运行程序。如果不再崩溃,那百分百是这个扩展和无头模式不兼容。

  • 若必须使用该扩展,尝试这些适配操作:

    1. 把Chrome浏览器升级到最新稳定版,同时检查扩展的版本是否适配当前Chrome版本;
    2. 改用新版无头模式参数,替代旧的headless:
      options.addArguments("--headless=new"); // 新版无头模式对扩展的兼容性更好
      
  • 补充必要的无头模式启动参数,避免环境异常:
    有些环境下只加headless会因为资源或权限问题崩溃,建议加上这些参数:

    options.addArguments("--disable-gpu"); // 无头模式下无需GPU加速
    options.addArguments("--no-sandbox"); // 禁用沙箱,解决部分环境下的权限问题
    options.addArguments("--disable-dev-shm-usage"); // 避免/dev/shm内存不足导致崩溃
    
  • 关于端口泄漏的问题:
    这个一般是Chrome意外退出后没有正常释放端口导致的,不用手动指定固定端口的话,Chrome默认会自动选择可用端口,重启程序后通常就能解决;如果还是有问题,可以手动清理占用对应端口的进程后再启动。

简单说下原因:无头模式下Chrome的运行环境和带界面的模式差异很大,很多老扩展依赖界面相关的API(比如弹窗、DOM交互类的功能),无头模式下这些API无法正常工作,就会触发进程崩溃,连带出现端口泄漏的提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:22:17