Selenium4 NetworkInterceptor与ChromeDriver109兼容问题:DevToolsException报错
问题分析与解决方案
错误原因
你遇到的DevToolsException本质是版本不兼容:Selenium 4.3.0自带的DevTools Protocol(CDP)实现仅支持到Chrome 108版本。你的ChromeDriver是109,而Selenium 4.3.0没有适配Chrome 109的selenium-devtools-v109依赖,导致CDP无法正常工作,触发了无操作(no-op)实现的报错。
能否切换到ChromeDriver 108?
完全可以,这是当前最快速的解决办法,但需注意:
- Chrome浏览器版本必须和ChromeDriver 108匹配(Chrome 108.x),否则会出现驱动与浏览器不兼容的问题。
- 同时需要在Maven中添加对应版本的DevTools依赖。
Maven配置步骤
添加selenium-devtools-v108依赖
在pom.xml中加入对应版本的DevTools依赖,版本需与Selenium核心一致(4.3.0):<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-devtools-v108</artifactId> <version>4.3.0</version> </dependency>指定ChromeDriver版本为108
如果使用webdrivermanager自动管理驱动,在代码中指定版本:WebDriverManager.chromedriver().driverVersion("108.0.5359.71").setup(); ChromeDriver driver = new ChromeDriver();若手动管理驱动,需下载对应版本的ChromeDriver(108.0.5359.71),并确保其路径被正确配置。
替代方案
如果不想降级Chrome浏览器,可以等待Selenium更新到支持Chrome 109的版本。Selenium 4.8.0及以上版本开始适配Chrome 109,届时只需升级Selenium核心依赖到对应版本,并添加selenium-devtools-v109依赖即可。
内容的提问来源于stack exchange,提问作者kakemonsteret
相关产品推荐
相关产品推荐

