ChromeDriver版本不匹配引发SessionNotCreatedException问题求助
解决ChromeDriver与Chrome版本不匹配的SessionNotCreatedException问题
问题原因
Chrome自动更新到110.0.5481.97,但WebDriverManager拉取了不兼容的ChromeDriver 111,版本不匹配导致抛出异常。
解决方法
1. 强制指定对应版本的ChromeDriver
直接在WebDriverManager配置中指定与本地Chrome完全匹配的ChromeDriver版本,确保驱动和浏览器版本一致:
public static WebDriver initialize_Driver(String browser) { properties = ConfigReader.getProperties(); if (browser.equals("Chrome")) { // 指定与本地Chrome 110.0.5481.97匹配的ChromeDriver版本 WebDriverManager.chromedriver().version("110.0.5481.97").setup(); driver = new ChromeDriver(); } // 补充其他浏览器初始化逻辑 return driver; }
2. 让WebDriverManager自动匹配本地Chrome版本
如果不想手动指定版本,可以强制WebDriverManager检测本地浏览器版本并拉取对应驱动,同时清理WebDriverManager的缓存(避免缓存旧版本驱动):
- 代码修改:
public static WebDriver initialize_Driver(String browser) { properties = ConfigReader.getProperties(); if (browser.equals("Chrome")) { // 强制检测本地Chrome版本并匹配驱动 WebDriverManager.chromedriver().browserVersionDetection().setup(); driver = new ChromeDriver(); } // 补充其他浏览器初始化逻辑 return driver; }
- 清理缓存:
- Windows:删除
C:\Users\<你的用户名>\.cache\WebDriverManager目录下的chromedriver相关文件 - Mac/Linux:删除
~/.cache/WebDriverManager目录下的chromedriver相关文件
- Windows:删除
3. 禁用Chrome自动更新(可选,防止后续版本不匹配)
如果不想频繁处理版本问题,可以关闭Chrome的自动更新:
- Windows:打开组策略编辑器(
gpedit.msc),依次进入计算机配置>管理模板>Google>Google Chrome>更新,启用“将自动更新设置为已禁用” - Mac:打开终端执行
defaults write com.google.Keystone.Agent checkInterval 0 - Linux:编辑
/etc/default/google-chrome文件,将CHROME_UPDATE设置为0
内容的提问来源于stack exchange,提问作者smooth
相关产品推荐
相关产品推荐

