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

使用WebDriverManager多版本Chrome时版本不匹配故障排查

问题原因与解决办法

问题根源

系统执行浏览器启动命令时,会按PATH环境变量的顺序查找可执行文件。如果/usr/local/bin在PATH里的优先级高于/usr/bin,系统会先找到/usr/local/bin/chrome(120旧版),而非/usr/bin/google-chrome(122新版)。而Selenium默认调用chrome命令启动浏览器,不会直接指定新版路径,因此触发版本不匹配的报错。

解决办法

  • 调整PATH优先级
    在测试启动前,把/usr/bin放到PATH最前面,让系统优先找到新版Chrome:

    export PATH=/usr/bin:$PATH
    

    也可以在Java代码里设置:

    System.setProperty("path", "/usr/bin:" + System.getenv("PATH"));
    
  • 直接指定Chrome二进制路径
    初始化ChromeDriver时,通过ChromeOptions明确指定新版Chrome的位置,绕开PATH查找逻辑:

    ChromeOptions options = new ChromeOptions();
    options.setBinary("/usr/bin/google-chrome");
    WebDriver driver = new ChromeDriver(options);
    
  • 重命名旧版Chrome
    如果旧版仅用于特定测试,不需要全局调用,直接修改文件名避免冲突:

    mv /usr/local/bin/chrome /usr/local/bin/chrome-120
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 15:44:53