已更新ChromeDriver至116仍遇版本不匹配,Maven项目启动失败
解决ChromeDriver与Chrome版本不匹配问题
排查当前实际调用的ChromeDriver版本
先确认系统中实际被调用的ChromeDriver版本,打开终端执行:
chromedriver --version
若输出为114.x版本,说明系统内仍有旧版本ChromeDriver在生效,需清理。
清理旧版本ChromeDriver
- 检查
/usr/local/bin目录下的chromedriver:
若存在旧版本,执行删除:ls -l /usr/local/bin/chromedriversudo rm /usr/local/bin/chromedriver - 排查项目本地目录、用户自定义bin目录等其他可能存放ChromeDriver的路径,找到旧版本文件后删除。
确认Maven依赖中的ChromeDriver版本
打开项目pom.xml,检查相关依赖版本是否与Chrome 116匹配:
<!-- 若使用WebDriverManager自动管理驱动 --> <dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.5.3</version> <!-- 确保为支持Chrome 116的最新版本 --> </dependency> <!-- 若直接引入ChromeDriver依赖 --> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>4.11.0</version> <!-- 与当前Selenium版本保持一致 --> </dependency>
执行mvn clean install刷新依赖,确保旧依赖被替换。
检查代码中的ChromeDriver配置
查看Facebook_Account.java第13行附近的初始化代码,确认是否硬编码了旧版本ChromeDriver路径:
// 错误示例:硬编码旧路径 System.setProperty("webdriver.chrome.driver", "/path/to/old/chromedriver");
若存在该代码,可直接删除(Selenium 4+支持自动管理驱动),或替换为新版本驱动路径;若使用WebDriverManager,确保代码初始化逻辑为:
WebDriverManager.chromedriver().setup(); WebDriver driver = new ChromeDriver();
验证环境变量PATH
检查PATH环境变量,确保新版本ChromeDriver所在路径优先级高于旧路径:
echo $PATH
若新版本路径未在前列,可临时添加:
export PATH="/path/to/new/chromedriver:$PATH"
或修改~/.zshrc/~/.bash_profile文件完成永久配置。
内容的提问来源于stack exchange,提问作者user22408008
相关产品推荐
相关产品推荐

