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

Chrome升级至107后Selenium脚本执行失败求助

解决Chrome 107 + Selenium 卡在driver.get()及"unable to receive message from renderer"问题

可能的原因及修复步骤

1. 添加Chrome启动参数适配渲染进程

Chrome 107对渲染进程的资源限制和通信机制有调整,添加以下启动参数可大概率解决问题:

  • --disable-gpu:禁用GPU加速,避免渲染进程与GPU驱动的兼容性冲突
  • --no-sandbox:关闭沙箱模式(部分环境下沙箱会阻断渲染器与Driver的通信)
  • --disable-dev-shm-usage:解决Linux系统下/dev/shm空间不足导致的渲染进程崩溃
  • --remote-debugging-port=9222:强制开启远程调试端口,确保渲染器通信通道正常

Java示例代码:

ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-gpu");
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--remote-debugging-port=9222");
WebDriver driver = new ChromeDriver(options);

2. 降级JDK至LTS版本

JDK 19属于非稳定的前沿版本,和Chrome 107、Selenium的兼容性存在适配缺口。建议降级到JDK 11或JDK 17(长期支持版本),多数用户反馈切换后渲染通信异常问题消失。

3. 确认Selenium版本完全适配

即使更新了pom依赖,也要明确指定适配Chrome 107的Selenium版本(建议4.5.0及以上),避免依赖自动引入的版本存在兼容性问题:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.5.3</version>
</dependency>

4. 清理Chrome旧配置缓存

Chrome升级后残留的旧用户配置可能导致渲染进程异常,可手动清理Chrome用户数据目录(Windows:C:\Users\<用户名>\AppData\Local\Google\Chrome\User Data;Linux:~/.config/google-chrome),或启动时指定临时数据目录:

options.addArguments("--user-data-dir=/tmp/chrome_temp");

5. 检查系统资源状态

系统内存不足、CPU负载过高会导致Chrome渲染进程无法正常启动或通信。关闭后台占用资源的程序,确保至少4GB可用内存供Chrome和Selenium运行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 09:40:28