ChromeDriver版本适配异常:已更新至105仍无法匹配Chrome 105
解决ChromeDriver版本匹配问题的排查思路
核心矛盾
你已经确认全局和项目依赖的ChromeDriver都是105.0.5195.52,但测试代码仍报错提示「ChromeDriver只支持Chrome 103」,说明测试代码实际调用的ChromeDriver版本和你安装的不一致,以下是针对性排查步骤:
1. 确认测试代码实际调用的ChromeDriver路径
直接在初始化WebDriver的代码中打印驱动路径,验证是否是你安装的105版本:
// Node.js环境示例 console.log("当前使用的ChromeDriver路径:", require('chromedriver').path);
- 如果输出路径和你全局
chromedriver -v对应的路径不一致,说明项目优先使用了本地旧版本驱动,或者系统PATH中旧版本驱动的优先级更高
2. 清理缓存与残留文件
- 清理npm缓存,避免残留旧版本依赖:
npm cache clean --force - 重新安装项目本地依赖:
npm install - 检查全局npm包目录下的ChromeDriver实际版本:
- Windows:
C:\Users\<你的用户名>\AppData\Roaming\npm\node_modules\chromedriver\lib\chromedriver - Mac/Linux:
/usr/local/lib/node_modules/chromedriver/lib/chromedriver
直接运行该目录下的可执行文件,查看版本是否为105.0.5195.52
- Windows:
3. 手动指定ChromeDriver路径到测试代码
绕开自动检测逻辑,强制让测试代码使用你确认的105版本驱动:
const { Builder } = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome'); const chromedriverPath = require('chromedriver').path; // 构建指定路径的驱动服务 const chromeService = new chrome.ServiceBuilder(chromedriverPath).build(); chrome.setDefaultService(chromeService); // 初始化浏览器实例 const driver = new Builder().forBrowser('chrome').build();
4. 验证Chrome浏览器的实际版本
打开Chrome,输入chrome://version/,确认浏览器版本确实是105.x.x.x:
- 若版本不对,说明自动更新未完成,可手动触发Chrome更新(设置→关于Chrome)
- 若存在多个Chrome版本(比如系统级和用户级),确认测试代码调用的是更新后的版本
5. 检查版本锁定工具干扰
如果你使用过Node版本管理工具(如nvm)或Chrome版本管理工具,确认当前环境未被锁定到旧版本的Chrome/ChromeDriver
内容的提问来源于stack exchange,提问作者Mike Baxter
相关产品推荐
相关产品推荐

