首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在selenium中找到与CDP版本x完全匹配的

无法在selenium中找到与CDP版本x完全匹配的
EN

Stack Overflow用户
提问于 2022-04-29 18:58:49
回答 2查看 12.7K关注 0票数 2

Hei在那里,所以我最近完成了一个小脚本,它使用selenium访问一个网站,并下载其中的一个特定部分作为图像。除了使用硒之外,我没有找到别的办法。我在使用这个api方面真的很新。现在,这个脚本可以在我的窗口和linux机器上运行。但我有个奇怪的错误我不太明白。根据我看到的其他帖子,我知道错误发生的原因,但我三次检查我的所有版本是否匹配。下面我将发布我使用的所有版本和脚本本身。重要的是,脚本工作和屏幕截图,它应该做,但警告仍然可能不是一件好事,对吗?我想不出解决办法了

的事情我找到了

我很确定这和我的Jar文件有关。只有在windows或linux上使用jar文件时,才会发生错误。根据我的intelliJ想法,它不会产生任何错误。现在我用intelliJ生成jar文件,我不知道是什么原因造成的。我试图读取我的依赖项,但没有任何帮助。任何帮助都是非常感谢的。

来自Java 的错误输出

仅允许在端口42307上启动(93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}) 101.0.4951.41 ChromeDriver本地连接。有关维护https://chromedriver.chromium.org/security-considerations安全的建议,请参见ChromeDriver。ChromeDriver启动成功。2022年4月29日8:40:21 org.openqa.selenium.remote.ProtocolHandshake createSession信息:检测到的方言: W3C 4月29日,2022 8:40:21 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch警告:无法找到与CDP版本101完全匹配的版本,因此返回找到的最接近的版本:1004月29日,2022年8:40:21下午org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch信息:为101号版本找到CDP实现。

是我pom.xml的一部分。我使用intelliJ tho生成jar,而不是直接生成

代码语言:javascript
运行
复制
<properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
</properties>

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>4.1.4</version>
    </dependency>
</dependencies>

脚本的代码片段

代码语言:javascript
运行
复制
    System.setProperty("webdriver.chrome.driver", chromedriverPath);
    ChromeOptions options = new ChromeOptions();
    options.addArguments("--start-maximized", "--headless", "--window-size=2560,1440","--ignore-certificate-errors","--disable-extensions","--disable-dev-shm-usage");
    options.addArguments("--log-level=3");
    WebDriver driver = new ChromeDriver(options);
    driver.get("somewebsiteurl (placeholder)" + code);

我的ubuntu机器上的Chrome版本(windows上相同)

代码语言:javascript
运行
复制
➜  MRimagedownloader google-chrome --version                                                          
Google Chrome 101.0.4951.41

,这是我使用的色度驱动器的版本。当然,windows的一个用于windows,linux用于我的ubuntu机器。

https://chromedriver.storage.googleapis.com/index.html?path=101.0.4951.41/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-04-29 22:11:53

这个错误信息..。

代码语言:javascript
运行
复制
Apr 29, 2022 8:40:21 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch WARNING: Unable to find an exact match for CDP version 101, so returning the closest version found: 100 
Apr 29, 2022 8:40:21 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch INFO: Found CDP implementation for version 101 of 100

...implies表示ChromeDriver无法启动/生成新的浏览上下文,即谷歌铬

深潜

您的主要问题是您正在使用的二进制文件的版本之间的incompatibility,如下所示:

  • 想必你是在使用更新后的Google版本101.0。
  • 您正在使用ChromeDriver 101.0
  • 您还使用了发布说明中提到的 v4.1.4

  • 支持的CDP版本: 85,99,100,101

一切看起来都是完全同步的,理想的情况下应该是开箱即用的。

然而,我坚信MRimagedownloader指出的Google实例是101.0版本,其中Selenium使用的Google实例是100.0版本。

您需要将Selenium使用的Google版本升级到v101.0

票数 2
EN

Stack Overflow用户

发布于 2022-10-08 16:43:40

我也遇到了同样的问题,使用带有vscode的maven,但在您写到:“我很确定它与我的Jar文件有关。只有在windows或linux上使用jar文件时,才会发生错误。根据我的intelliJ想法,它不会产生任何错误。”

导出jar文件时,GUI向我提供一个元素列表,其中88个是预选的,包括:

  • selenium-devtools-v104-4.5.0.jar
  • selenium-devtools-v105-4.5.0.jar
  • selenium-devtools-v106-4.5.0.jar

这个方法修复了它:我没有检查v104和v105

现在我得到了这样的回应:

好的。08,2022年6:22:38 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch INFO:为版本106找到准确的CDP实现

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72062605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档