使用Gradle运行Selenium项目时出现Chrome版本不匹配问题
问题描述
我的代码之前运行正常,但通过Gradle命令行运行项目时出现了Chrome版本不兼容的错误。我使用了bonigarcia的WebDriverManager库,按道理不该出现这类版本匹配问题。尝试过更换Selenium和WebDriverManager的版本,但会导致整个项目无法正常使用。以下是我的Gradle配置文件:
plugins { id 'java' } repositories { mavenCentral() } dependencies { implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59' testImplementation 'org.testng:testng:7.4.0' implementation group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.4.1' compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.22' implementation group: 'io.qameta.allure', name: 'allure-testng', version: '2.17.1' } test { useTestNG() }
解决方案
确认WebDriverManager初始化逻辑正确
确保代码中正确调用自动配置方法,不要手动指定Driver路径覆盖自动管理:WebDriverManager.chromedriver().setup(); WebDriver driver = new ChromeDriver();清理Gradle缓存并重新同步
执行命令清理缓存、刷新依赖,解决潜在的缓存冲突:./gradlew clean build --refresh-dependencies调整版本适配兼容性
Selenium 3.141.59与WebDriverManager 5.4.1可能存在适配细节问题,建议降级WebDriverManager到5.3.0(该版本对Selenium 3.x适配更稳定),修改依赖:implementation group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.3.0'注意:WebDriverManager 6+版本主要适配Selenium 4,不要和Selenium 3.x搭配使用。
手动指定ChromeDriver版本(临时修复)
如果自动检测失效,可根据当前Chrome版本手动匹配Driver版本:// 替换为你Chrome对应的Driver版本号,比如114.0.5735.90 WebDriverManager.chromedriver().driverVersion("114.0.5735.90").setup();可通过
chrome://version/查看Chrome版本,再匹配对应ChromeDriver版本。检查Gradle运行环境
确保Gradle命令行的系统环境与IDE一致,比如Chrome安装路径、系统PATH变量等,避免环境差异导致Driver检测失败。
内容的提问来源于stack exchange,提问作者Krishna Singhal
相关产品推荐
相关产品推荐

