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

Chrome升级至78后指定ChromeDriver版本仍无法运行测试求助

解决ChromeDriver与Chrome版本不匹配的问题

针对你遇到的Selenium::WebDriver::Error::SessionNotCreatedError错误,这里有几个可行的排查和解决思路:

  • 检查本地ChromeDriver的实际运行版本
    有时候手动指定版本后,系统实际调用的还是旧版本的驱动。在终端运行以下命令查看当前ChromeDriver版本:

    chromedriver --version
    

    如果输出的不是你指定的76.x版本,说明驱动没有正确切换,需要进一步处理。

  • 确保版本配置代码的执行顺序
    要保证Webdrivers::Chromedriver.required_version = '76.0.3809.68'这行代码在初始化Chrome驱动之前执行,也就是要放在Selenium::WebDriver.for :chrome之前。如果顺序颠倒,配置不会生效,依然会使用旧版本驱动。

  • 清除webdrivers gem的缓存
    webdrivers gem会缓存下载的驱动文件,缓存中的旧版本可能导致问题。找到缓存目录(默认在~/.webdrivers/),删除其中的chromedriver文件,然后重新运行测试,让gem重新下载指定版本的驱动。

  • 排查系统环境变量干扰
    检查是否存在CHROMEDRIVER_PATH环境变量,这个变量会直接指定ChromeDriver的路径,覆盖webdrivers gem的配置。在终端执行以下命令查看:

    # Linux/macOS
    echo $CHROMEDRIVER_PATH
    
    # Windows
    echo %CHROMEDRIVER_PATH%
    

    如果输出了旧驱动的路径,需要删除这个环境变量,或者更新为指定版本驱动的路径。

  • 升级webdrivers gem到最新版本
    旧版本的webdrivers gem可能存在版本匹配逻辑的bug,无法正确识别或下载对应Chrome版本的驱动。运行以下命令升级gem:

    bundle update webdrivers
    

    升级后可以尝试移除手动指定版本的代码,让gem自动匹配Chrome 78对应的ChromeDriver版本,这通常是更可靠的方式。

  • 对比本地与Travis环境的差异
    Travis上测试正常,说明Travis的环境中Chrome和ChromeDriver版本是匹配的。可以查看Travis的构建日志,确认它使用的Chrome版本、ChromeDriver版本以及webdrivers gem版本,然后将本地环境调整为一致的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:58:41