Selenium 4.3.0非Maven Java项目CDP版本不匹配测试报错求助
解决Selenium 4.3.0中CDP版本不匹配的警告问题
问题原因
你的Chrome/Edge浏览器版本为107,但Selenium 4.3.0内置的Chrome DevTools Protocol(CDP)实现仅支持到103版本。Selenium无法找到与浏览器版本完全匹配的CDP实现,因此会 fallback到最接近的103版本,触发该警告。
解决方案
1. 降级浏览器版本到103
手动下载Chrome/Edge 103版本的安装包,替换当前浏览器。此方法操作简单,但旧版本浏览器存在安全风险,仅适合临时测试场景。
2. 升级Selenium到支持CDP 107的版本
Selenium 4.8.0及后续版本已支持CDP 107。由于你的项目未使用Maven,需手动下载对应版本的Selenium Java客户端jar包(包括selenium-java.jar、selenium-chrome-driver.jar等相关依赖jar),替换项目中旧的Selenium 4.3.0 jar文件,确保所有Selenium相关jar版本一致。
3. 手动指定CDP版本(临时过渡方案)
若暂时无法升级Selenium或降级浏览器,可在代码中手动指定CDP版本,但可能存在功能兼容问题,不推荐长期使用。示例代码:
import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.devtools.DevToolsVersion; import java.util.Map; import com.google.common.collect.ImmutableMap; public class CDPVersionFix { public static void main(String[] args) { ChromeOptions options = new ChromeOptions(); ChromeDriver driver = new ChromeDriver(options); driver.getDevTools().createSessionIfNotPresent(); // 手动指定CDP版本为107 driver.getDevTools().setVersion(DevToolsVersion.of(107)); // 后续测试代码 driver.get("https://your-test-url.com"); driver.quit(); } }
内容的提问来源于stack exchange,提问作者rino
相关产品推荐
相关产品推荐

