【问题标题】:Selenium Chromedriver: Unable to find an exact match for CDP version 98, so returning the closest version found: 97Selenium Chromedriver:无法找到 CDP 版本 98 的完全匹配,因此返回找到的最接近的版本:97
【发布时间】:2022-02-25 21:57:27
【问题描述】:

我试图让 Selenium 与 Java 一起工作。我正在使用 Maven。我的 pom.xml 文件是这样的

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

当我尝试运行我的程序时,会出现以下错误。 Chrome 会启动,但不会打开任何网站。我试过 chrome webdriver 版本 98 97 和 96。我的普通 chrome 版本重要吗?

Starting ChromeDriver 97.0.4692.71 (adefa7837d02a07a604c1e6eff0b3a09422ab88d-refs/branch-heads/4692@{#1247}) on port 61659
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
[1644353402.048][WARNING]: This version of ChromeDriver has not been tested with Chrome version 98.
Feb. 08, 2022 9:50:02 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Feb. 08, 2022 9:50:02 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch
WARNING: Unable to find an exact match for CDP version 98, so returning the closest version found: 97
Feb. 08, 2022 9:50:02 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch
INFO: Found CDP implementation for version 98 of 97

【问题讨论】:

  • 您的机器的 Chrome 浏览器版本为 98,而项目中使用的 chromeDriver.exe 为 97。转到 chromedriver.exe 下载页面并替换现有的 chromedriver.exe 文件并尝试运行您的代码。

标签: java selenium google-chrome selenium-webdriver selenium-chromedriver


【解决方案1】:

此错误消息...

[1644353402.048][WARNING]: This version of ChromeDriver has not been tested with Chrome version 98.
Feb. 08, 2022 9:50:02 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
Feb. 08, 2022 9:50:02 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch
WARNING: Unable to find an exact match for CDP version 98, so returning the closest version found: 97
Feb. 08, 2022 9:50:02 PM org.openqa.selenium.devtools.CdpVersionFinder findNearestMatch
INFO: Found CDP implementation for version 98 of 97

...暗示ChromeDriver 无法启动/产生新的浏览上下文,即 会话。


您的主要问题是您使用的二进制文件版本之间的不兼容性,如下所示:

支持 Chrome 版本 98

支持 Chrome 版本 97

所以 chromedriver=97.0chrome=98.0

之间存在明显的不匹配

解决方案

确保:

【讨论】:

  • selenium 4.1.2 目前不包含版本 98。所以我仍然收到错误“无法找到 CDP 版本 98 的完全匹配,因此返回找到的最接近的版本:97”
  • 这是真的吗?我的 Chrome 是最新版本,我的 chromedriver 也是,selenium 是 4.1.2,我仍然收到不匹配错误。 Selenium 4.1.2 是否只支持 97?有没有办法降级chrome?
  • @Nico1300 不,你不能降级。您需要下载旧的便携式版本,因此它不会自动更新。 sourceforge.net/projects/portableapps/files/…
【解决方案2】:

遗憾的是,Selenium 4.1.2 还不支持 v98。这是更新日志:

v4.1.2

  • 支持的 CDP 版本:85、95、96、97
  • 为 Chromium 添加新的桌面转换命令
  • ...

这并不意味着它不会工作,但就我而言,它可以完美地工作。但是,是的,您可能会遇到一些无法正常工作的问题。

【讨论】:

    【解决方案3】:

    添加此依赖项为我解决了这个问题:

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-devtools-v97</artifactId>
        <version>4.1.2</version>
    </dependency>
    

    请记住,Chrome 更新或 selenium java 更新也可能需要对依赖项进行版本更新。

    【讨论】:

      猜你喜欢
      • 2022-07-21
      • 2021-11-26
      • 2021-12-30
      • 2022-11-02
      • 2023-02-02
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 2022-07-08
      相关资源
      最近更新 更多