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

Chrome 64搭配ChromeDriver时driver.navigate().to("url")失效求助

解决ChromeDriver与Chrome版本不兼容导致driver.navigate().to()失效的问题

我之前在Maven+Cucumber项目里也碰到过这种诡异的突发问题——前一天还正常运行的导航功能突然罢工,排查下来大多是Chrome和ChromeDriver的版本兼容性在搞鬼,给你几个靠谱的解决方向:

1. 先确认版本对应关系(核心!)

ChromeDriver和Chrome的版本绑定非常严格,你当前用的ChromeDriver 2.34.522940只支持Chrome 61-63版本,但你的Chrome是64.0.3282.140,这明显是版本不匹配了。哪怕昨天正常,可能是临时缓存或者环境状态掩盖了问题,现在触发了兼容性bug。

Chrome 64对应的正确ChromeDriver版本是2.36(支持Chrome 63-65),或者你也可以用2.35(支持Chrome 62-64),优先选2.36更稳定。

2. 在Maven里更新ChromeDriver依赖

直接修改你的pom.xml,把ChromeDriver的依赖版本改成对应版本,比如:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>3.11.0</version> <!-- 这个版本会对应ChromeDriver 2.36 -->
</dependency>

或者用WebDriverManager自动管理版本,不用手动对应:

// 在初始化Driver前添加这行代码
io.github.bonigarcia.wdm.WebDriverManager.chromedriver().setup();
ChromeDriver driver = new ChromeDriver();

这样它会自动下载匹配你当前Chrome版本的ChromeDriver,省得手动查版本。

3. 清理环境缓存

  • 执行Maven命令清理项目依赖:mvn clean install -U,强制更新快照依赖,避免旧的ChromeDriver jar包残留。
  • 手动删除Chrome浏览器的缓存(设置→隐私和安全→清除浏览数据),有时候旧的会话缓存会干扰Driver的导航操作。
  • 检查本地是否有旧的ChromeDriver可执行文件残留,比如系统PATH里的旧版本,替换成新下载的对应版本。

4. 临时替代方案

如果暂时没法更新Driver版本,可以试试用driver.get("url")代替driver.navigate().to("url"),这两个方法功能几乎一致,但在某些兼容性场景下,get()方法的稳定性更好。

5. 检查Chrome自动更新

确认你的Chrome没有被后台自动更新到更高版本(比如65+),如果更新了,就得对应升级ChromeDriver到2.37及以上版本。可以在Chrome的chrome://version/页面查看当前准确版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:29:48