ChromeDriver与Chrome版本不匹配引发SessionNotCreatedException问题排查
问题排查方向
- 旧驱动缓存/残留未清理:系统PATH里可能还存在旧版ChromeDriver(114版本),优先级比WebDriverManager下载的新版更高,导致启动时调用了旧驱动。可以手动执行
which chromedriver(Mac/Linux)或where chromedriver(Windows)命令,确认返回的路径是否为WebDriverManager下载的最新版本路径。 - 依赖冲突未解决:虽然升级了bonigarcia和selenium的版本,但项目构建工具(Maven/Gradle)可能存在传递依赖,实际运行时还是加载了旧版的WebDriverManager。可以用
mvn dependency:tree(Maven)或gradle dependencies(Gradle)命令查看依赖树,排除掉旧版本的相关依赖。 - 代码硬编码了驱动路径:如果之前代码里手动指定过ChromeDriver的本地路径,即使升级了WebDriverManager,代码还是会优先使用硬编码的旧驱动路径。需要移除
System.setProperty("webdriver.chrome.driver", "...")这类手动指定路径的代码,让WebDriverManager自动管理驱动。 - 驱动权限/路径异常:公司环境下,WebDriverManager下载的驱动可能没有执行权限,或者下载到了受限制的目录,导致无法正常调用。可以手动找到WebDriverManager下载的新版驱动路径,检查文件权限,或者临时手动指定该路径测试是否能正常启动会话。
- Chrome进程残留:Chrome自动更新后,可能有旧版本的Chrome进程在后台运行,导致WebDriver无法正确关联新版浏览器。可以重启Chrome甚至整个电脑,确保没有残留的旧进程。
内容的提问来源于stack exchange,提问作者AlexPolo
相关产品推荐
相关产品推荐

