错误信息:
2024 年 5 月 10 日 11:00:44 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch 警告:无法找到与 124 2024 年 5 月 10 日 11:00:44 PM org.openqa.selenium.chromium.ChromiumDriver lambda 匹配的 CDP 实现$new$5 警告:无法找到用于 124.0.6367.202 的 CDP 版本。您可能需要使用类似于
org.seleniumhq.selenium:selenium-devtools-v86:4.20.0
的内容来包含对 CDP 特定版本的依赖项,其中版本(“v86”)与您正在使用的基于 chromium 的浏览器的版本相匹配,并且工件的版本号为与 Selenium 相同。
这个错误会出现在我的maven项目中。
我添加了依赖,但还没有解决。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-devtools-v86</artifactId>
<version>4.0.0-alpha-7</version>
</dependency>
Chrome Version : 124.0.6367.202 Selenium Version : selenium-server-4.20.0
我遇到了这个棘手的问题,Selenium 找不到适合我的 Chrome 浏览器版本 124.0.6367.118 的 Chrome DevTools 协议 (CDP) 版本。当 Selenium 依赖项和浏览器版本不匹配时,往往会发生这种情况。
我检查的第一件事是我的 selenium-devtools 依赖项是否与我的 Chrome 版本匹配。一般来说,您希望在 Chrome 124 中使用 selenium-devtools-v124 之类的东西,但这些特定版本并不总是立即存在于 Maven Central 上,因为 Selenium 在跟上新浏览器版本方面可能有点慢。
这是我尝试过的:
将 Selenium 更新到最新版本:我始终确保使用最新的 Selenium 版本以避免与新浏览器的兼容性问题。
切换到兼容的浏览器版本:由于我找不到适用于 Chrome 124 的 selenium-devtools,因此我考虑将 Chrome 降级到可用 selenium-devtools 支持的版本,例如 Chrome 123。
回退到另一个浏览器:我最终切换到 Firefox,它对我来说效果很好。这是一个很好的快速修复方法,特别是如果特定的浏览器对于当前的测试并不重要的话。
删除 Snap 软件包:在 Ubuntu 上,我看到问题弹出,我发现删除 Snap 软件包有帮助。看起来 snap 处理依赖关系的方式可能会给工作带来麻烦。
我发现让我的开发环境尽可能接近我的生产或目标环境有很大帮助,特别是对于操作系统和已安装的软件包。
希望这能让您了解如何解决这个问题!如果您需要更多信息或有其他问题,请给我留言。