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

Chrome更新后执行Selenium测试遇SessionNotCreatedException求助

解决Chrome更新后Selenium的SessionNotCreatedException问题

先看你给出的错误日志:

Starting ChromeDriver 2.37.544337 (8c0344a12e552148c185f7d5117db1f28d6c9e85) on port 36249 Only local connections are allowed.
org.openqa.selenium.SessionNotCreatedException: session not created exception from disconnected: unable to connect to renderer (Session info: chrome=65.0.3325.181) (Driver info: chromedriver=2.37.544337 (8c0344a12e552148c...

这个问题我之前踩过坑!本质就是Chrome浏览器和ChromeDriver版本不兼容:你当前用的ChromeDriver 2.37只支持Chrome 62-64版本,而你的Chrome已经更新到65.0.3325.181,版本完全对不上,自然无法建立session连接渲染器。

给你几个靠谱的解决步骤:

  • 手动匹配版本(最直接)

    1. 确认Chrome完整版本:打开Chrome → 右上角三个点 → 设置 → 关于Chrome,就能看到精确的版本号(比如你这里的65.0.3325.181)
    2. 下载对应版本的ChromeDriver:ChromeDriver的版本和Chrome是严格对应的,Chrome 65需要ChromeDriver 2.38(2.38版本支持Chrome 65-67)
    3. 替换项目中的旧ChromeDriver:把下载好的新Driver文件替换掉原来的,确保你的Selenium代码里指定的Driver路径是新文件的路径
  • 用WebDriverManager自动管理(一劳永逸)
    如果你不想每次Chrome更新都手动下载Driver,可以用WebDriverManager工具,它会自动检测当前Chrome版本,下载匹配的ChromeDriver,不用你管版本对应问题。比如Java项目只需要两步:

    1. 引入Maven依赖(如果是Maven项目):
      <dependency>
          <groupId>io.github.bonigarcia</groupId>
          <artifactId>webdrivermanager</artifactId>
          <version>5.6.3</version> <!-- 用最新版本即可 -->
      </dependency>
      
    2. 在代码里初始化Driver前加一行:
      WebDriverManager.chromedriver().setup();
      WebDriver driver = new ChromeDriver();
      

    这样以后Chrome再更新,工具会自动同步Driver版本,再也不会碰到这种版本不兼容的问题。

  • 验证修复效果
    替换完Driver后,先单独运行ChromeDriver程序(Windows双击chromedriver.exe,Linux/Mac终端运行./chromedriver),如果能正常输出类似Starting ChromeDriver xxx on port xxxx的日志,说明Driver没问题,再运行你的测试代码就应该能正常创建session了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:16:26