
当 chrome 浏览器升级至 116+ 版本后,旧版 chromedriver(仅支持到 v114)将无法启动会话;需升级 webdrivermanager 至 v5.5.3+ 或手动适配新版 chrome for testing 下载源。
当 chrome 浏览器升级至 116+ 版本后,旧版 chromedriver(仅支持到 v114)将无法启动会话;需升级 webdrivermanager 至 v5.5.3+ 或手动适配新版 chrome for testing 下载源。
在自动化测试中,org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 114 是一个典型版本不匹配错误。根本原因在于:Chrome 自 115 版本起正式弃用传统 Chromedriver 发布机制,转而采用 Chrome for Testing(CFT)平台统一分发浏览器二进制与配套驱动程序。原 chromedriver.storage.googleapis.com 域名仅维护至 v114,后续版本(v115、v116、v117…)必须从新地址获取兼容驱动。
✅ 推荐解决方案(首选):升级 WebDriverManager
WebDriverManager v5.5.3 及以上版本已原生支持 Chrome for Testing 协议,可自动识别本地 Chrome 版本并下载对应驱动:
<!-- Maven 依赖(确保使用最新稳定版) --> <dependency><groupid>io.github.bonigarcia</groupid><artifactid>webdrivermanager</artifactid><version>5.5.3</version><!-- 或更高版本,如 5.6.0 --></dependency>
Java 初始化代码保持简洁(无需手动指定路径):
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.chrome.ChromeDriver;
public class ChromeTest {
public static void main(String[] args) {
// 自动检测 Chrome 版本 → 查询 CFT → 下载匹配的 chromedriver
WebDriverManager.chromedriver().setup();
ChromeDriver driver = new ChromeDriver();
driver.get("https://example.com");
driver.quit();
}
}
⚠️ 注意事项:
- 若使用较老版本 WebDriverManager(如 ≤5.3.2),即使强制指定
driverVersion("116.0.5845.96")仍可能失败,因其未集成 CFT API;务必升级。 - 手动下载驱动时,请访问 Chrome for Testing 官方页面,根据 Chrome 的 完整版本号(如
116.0.5845.96)查找对应chromedriver的win64/mac-x64/linux64下载链接,解压后通过System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver")指定路径(不推荐,易出错)。 - Chrome 浏览器需保持自动更新开启,或定期执行
chrome://settings/help检查更新,以确保 WebDriverManager 能准确探测当前版本。
? 验证是否生效:运行测试前,可在控制台观察 WebDriverManager 日志——成功时将显示类似 Using chromedriver 116.0.5845.96 (resolved from CFT) 的提示。若仍报错,请检查项目中是否存在多个 WebDriverManager 依赖冲突(如旧版 transitive dependency),建议执行 mvn dependency:tree | grep webdrivermanager 排查。
总之,拥抱 Chrome for Testing 是长期稳定的必由之路。升级 WebDriverManager 不仅解决当前问题,更为未来 Chrome 的持续迭代提供无缝兼容保障。











