ChromeDriver 114不兼容Chrome 116的问题求助(附配置代码)
解决Chrome 116与ChromeDriver版本不匹配问题
问题原因
你当前使用的WebDriverManager 5.4.1版本不支持Chrome 116浏览器的版本适配。Chrome从116版本开始,ChromeDriver的版本号与浏览器版本完全同步,而旧版WebDriverManager无法正确识别并下载对应版本的ChromeDriver,导致拉取了旧的114版本ChromeDriver,与116版本浏览器不兼容。
解决方案
方案1:升级WebDriverManager版本(推荐)
将Maven依赖中的WebDriverManager版本升级到5.5.0及以上(比如5.5.3稳定版),新版本已适配Chrome 116+的版本检测逻辑,会自动下载与当前Chrome浏览器匹配的ChromeDriver。
修改后的Maven依赖:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.10.0</version> </dependency> <dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.5.3</version> </dependency>
修改后重新构建项目,原有的初始化代码无需改动,WebDriverManager会自动处理版本匹配。
方案2:手动指定ChromeDriver版本(临时方案)
如果暂时无法升级WebDriverManager,可以在代码中手动指定与Chrome 116对应的ChromeDriver版本:
if (browserName.equals("chrome")) { // 手动指定ChromeDriver版本为116.0.5845.97 WebDriverManager.chromedriver().driverVersion("116.0.5845.97").setup(); ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.addArguments("--incognito"); chromeOptions.addArguments("window-size=1980,1080"); chromeOptions.addArguments("--remote-allow-origins=*"); this.driver = new ChromeDriver(chromeOptions); }
注意:此方案需要在每次Chrome浏览器版本更新时手动修改版本号,长期维护成本高,因此优先推荐方案1。
内容的提问来源于stack exchange,提问作者Sunny
相关产品推荐
相关产品推荐

