
chromedriver 版本必须严格匹配本地 chrome 浏览器主版本号(如 chrome 109 → 需 chromedriver 109.x),否则会抛出 `sessionnotcreatedexception`;本文详解如何精准识别版本、下载匹配驱动、配置路径及自动化管理方法。
在 Selenium 自动化测试中,SessionNotCreatedException: This version of ChromeDriver only supports Chrome version XX 是高频报错——即使你看到 Chrome 界面显示“已是最新版”,也不代表当前 ChromeDriver 能兼容它。根本原因在于:ChromeDriver 并非与 Chrome 完全同步更新,且仅保证对 Chrome 主版本号(如 109.0.5414.74 中的 109)向下兼容,一旦主版本不一致(例如用 ChromeDriver 96 驱动 Chrome 109),必然失败。
✅ 正确排查与解决步骤
1. 精确获取 Chrome 主版本号
不要依赖任务管理器或文件属性,而是通过 Chrome 内置路径确认:
- 打开 Chrome 浏览器 → 右上角「⋮」→ Settings → About Chrome
- 查看顶部显示的完整版本号(例如 Version 109.0.5414.74 (Official Build) (64-bit))→ 提取主版本号 109
? 小技巧:命令行快速获取(Windows): reg query "HKEY_CURRENT_USER\Software\Google\Chrome\BLBeacon" /v version或 PowerShell: (Get-Item 'C:\Program Files\Google\Chrome\Application\chrome.exe').VersionInfo.ProductVersion.Split('.')[0]
2. 下载对应主版本的 ChromeDriver
访问官方唯一可信源:https://www.php.cn/link/bad65e96c2c6456a4f82970601d39714(注意:旧链接 chromedriver.googlecode.com 已停用)
- 在页面中查找 Latest Release for Chrome 109(或对应主版本)
- 下载 chromedriver_win32.zip(Windows)、chromedriver_mac64.zip(macOS)或 chromedriver_linux64.zip(Linux)
- 解压后得到 chromedriver.exe(Windows)或无后缀可执行文件(macOS/Linux)
3. 修正代码中的配置错误
你原代码存在两个关键问题:
一个经过完善设计的经典网上购物系统,适用于各种服务器环境的高效网上购物系统解决方案,shopxp购物系统Html版是我们首次推出的免费购物系统源码,完整可用。我们的系统是免费的不需要购买,该系统经过全面测试完整可用,如果碰到问题,先检查一下本地的配置或到官方网站提交问题求助。 网站管理地址:http://你的网址/admin/login.asp 用户名:admin 密 码:admin 提示:如果您
- ❌ 错误的系统属性名:webdriver.chromer.driver → 应为 webdriver.chrome.driver(chromer 是拼写错误)
- ❌ 硬编码路径易出错且不可移植
✅ 推荐写法(Java + Selenium 3.x/4.x):
// 方式1:显式指定驱动路径(确保路径正确且有执行权限)
System.setProperty("webdriver.chrome.driver", "D:/tools/chromedriver-v109/chromedriver.exe");
WebDriver driver = new ChromeDriver();
// 方式2(更健壮):使用 WebDriverManager(推荐!自动管理版本)
// Maven 依赖:io.github.bonigarcia webdrivermanager 5.6.2
WebDriverManager.chromedriver().setup(); // 自动检测Chrome版本并下载匹配驱动
WebDriver driver = new ChromeDriver();4. 高级建议:避免手动维护驱动
- ✅ 启用 WebDriverManager(Selenium 4+ 原生支持 Selenium Manager,但 WebDriverManager 更成熟稳定):它能自动读取本地 Chrome 版本、下载、缓存、设置系统属性,彻底告别版本冲突。
- ✅ 统一环境管理:在 CI/CD(如 Jenkins/GitHub Actions)中,通过脚本自动安装指定版本 Chrome + 对应 ChromeDriver,保障环境一致性。
- ⚠️ 注意事项:
- Chrome 安装路径可能为 C:\Program Files\Google\Chrome\Application\(64位)或 C:\Program Files (x86)\Google\Chrome\Application\(32位),需确认实际路径;
- 若使用企业版 Chrome(如 Chrome Enterprise),需检查是否启用了策略限制驱动加载;
- Selenium 4.6+ 已内置 Selenium Manager,可尝试 System.setProperty("webdriver.http.factory", "jdk-http-client"); 启用自动驱动管理(无需手动 setup)。
总结:版本不匹配不是“玄学异常”,而是可精准定位、自动化解决的标准流程。牢记三原则——查准主版本、下对驱动包、配正系统属性,再辅以 WebDriverManager 或 Selenium Manager,即可一劳永逸。









