Chrome更新致Selenium WebDriver版本兼容问题,求永久解决方案
解决Selenium ChromeDriver与Chrome版本兼容的永久方案
方案1:使用WebDriverManager自动同步驱动版本
这是目前最省心的方案,它会自动检测本地Chrome版本,下载匹配的ChromeDriver,无需手动管理版本。
步骤:
- 在Maven的
pom.xml中添加WebDriverManager依赖:
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.6.3</version> <!-- 可使用最新稳定版 --> <scope>test</scope> </dependency>
- 在测试代码中初始化驱动前添加自动配置:
import org.openqa.selenium.chrome.ChromeDriver; import io.github.bonigarcia.wdm.WebDriverManager; public class ChromeTest { public static void main(String[] args) { // 自动下载并配置对应版本的ChromeDriver WebDriverManager.chromedriver().setup(); ChromeDriver driver = new ChromeDriver(); // 后续测试逻辑... driver.quit(); } }
方案2:升级到Selenium 4.6+版本,使用内置驱动管理
Selenium从4.6.0版本开始内置了驱动自动管理功能,无需额外引入WebDriverManager依赖,原生支持匹配浏览器与驱动版本。
步骤:
- 升级Maven中Selenium的依赖到4.6.0及以上:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.18.1</version> <!-- 使用最新稳定版 --> <scope>test</scope> </dependency>
- 直接初始化ChromeDriver即可,Selenium会自动处理驱动匹配:
import org.openqa.selenium.chrome.ChromeDriver; public class ChromeTest { public static void main(String[] args) { // 无需手动配置驱动路径,Selenium自动检测并下载匹配的ChromeDriver ChromeDriver driver = new ChromeDriver(); // 后续测试逻辑... driver.quit(); } }
方案3:固定Chrome版本并绑定对应驱动(适合需特定版本场景)
如果业务要求必须使用特定版本的Chrome,除了关闭Chrome自动更新,还可以通过以下方式绑定对应驱动:
- 使用WebDriverManager指定Chrome版本:
WebDriverManager.chromedriver().browserVersion("122.0.6261.57").setup();
- 手动下载对应版本的ChromeDriver,在代码中指定驱动路径:
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); ChromeDriver driver = new ChromeDriver();
当前问题临时修复
针对你当前Chrome 122.0.6261.57版本不兼容ChromeDriver 114的情况,直接采用方案1或方案2,运行测试代码时会自动下载适配122版本的ChromeDriver,即可解决当前无法运行的问题。
内容的提问来源于stack exchange,提问作者ahmet.igan
相关产品推荐
相关产品推荐

