Selenium自动化环境中ChromeDriver更新兼容性问题排查
解决ChromeDriver与Chrome版本不兼容问题
1. 修正repositorymap.xml配置错误
你当前配置存在版本不匹配问题:<filelocation>指向的是ChromeDriver 125版本,但你的Chrome浏览器是124.0.6367.202,必须保证ChromeDriver与Chrome大版本严格一致,小版本也需匹配。
- 确认Chrome 124.0.6367.202对应的ChromeDriver版本为124.0.6367.91
- 将
<filelocation>替换为对应版本的Win32 ChromeDriver压缩包官方地址 - 从Chrome官方测试资源页面获取该压缩包的SHA-1哈希值,替换
<hash>中的占位内容
修正后的配置示例:
<driver id="googlechrome"> <version id="124.0.6367.91"> <bitrate thirtytwobit="true" sixtyfourbit="true"> <filelocation>对应版本的ChromeDriver官方下载地址</filelocation> <hash>实际获取的SHA1哈希值</hash> <hashtype>sha1</hashtype> </bitrate> </version> </driver>
2. 清除Maven插件缓存
driver-binary-downloader-maven-plugin可能缓存了旧的ChromeDriver 90版本,导致新配置不生效:
- 找到Maven本地仓库下的
com/github/ardesco目录,删除其中的驱动缓存文件 - 执行Maven命令强制重新下载依赖与驱动:
mvn clean install -U
3. 升级Selenium核心版本
你当前使用的Selenium 3.12.0是2018年的旧版本,完全无法适配Chrome 124这类新版本浏览器,必须升级到Selenium 4.x系列(推荐最新稳定版):
- 在
pom.xml中更新Selenium依赖:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.19.1</version> <!-- 替换为最新稳定版 --> </dependency>
4. 验证驱动版本有效性
运行测试前,手动确认下载的ChromeDriver版本:
- 找到插件下载的ChromeDriver路径(默认在
target/driver-binary-downloader目录下) - 执行命令
chromedriver.exe --version,确认版本为124.x系列
替代方案:使用自动驱动管理工具
如果手动维护repositorymap.xml太繁琐,可改用WebDriverManager自动管理驱动,无需手动配置下载地址与哈希:
- 在
pom.xml中添加依赖:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.6.3</version> <!-- 最新稳定版 --> </dependency>
- 在测试代码中初始化驱动:
WebDriverManager.chromedriver().setup(); WebDriver driver = new ChromeDriver();
内容的提问来源于stack exchange,提问作者mazzaroli
相关产品推荐
相关产品推荐

