如何为TypeScript Selenium项目更新ChromeDriver解决版本不兼容问题
报错原因
你的本地Chrome浏览器版本为90.0.4430.212,但项目中安装的chromedriver npm包版本为87.0.7,大版本不匹配导致无法启动测试会话。
解决方案
方案1:使用webdriver-manager自动管理驱动版本(优先推荐)
适配TypeScript/Node/Jest项目的使用步骤如下:
- 安装依赖
执行命令:
如需TypeScript类型支持,额外执行:npm install webdriver-manager --save-devnpm install @types/webdriver-manager --save-dev - 配置下载对应版本驱动
在package.json的scripts字段中新增两条命令:
执行{ "scripts": { "wd:update": "webdriver-manager update --versions.chrome=90.0.4430.212", "wd:start": "webdriver-manager start --versions.chrome=90.0.4430.212" } }npm run wd:update即可自动下载匹配你当前Chrome版本的ChromeDriver,后续浏览器升级后只需要修改命令中的版本号重新执行更新即可,不需要手动调整项目配置。 - 对接Jest测试
在jest.config.js中添加配置指定测试前置文件:
在jest.setup.ts中配置Selenium客户端连接webdriver-manager启动的驱动服务,不需要手动指定ChromeDriver的本地路径。module.exports = { setupFilesAfterEnv: ['./jest.setup.ts'] }
方案2:直接升级chromedriver npm包
不需要手动修改package-lock.json文件,执行npm命令即可自动更新所有对应配置:
- 执行升级命令:
只要保持chromedriver的大版本和本地Chrome浏览器的大版本(90)一致即可。npm install chromedriver@90 --save-dev - 若升级后仍存在版本不匹配提示,执行以下操作重置依赖:
npm cache clean --force rm -rf node_modules package-lock.json npm install
内容的提问来源于stack exchange,提问作者hkathleenc
相关产品推荐
相关产品推荐

