【问题标题】:SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 77 using Selenium ChromeDriverSessionNotCreatedException:会话未创建:此版本的 ChromeDriver 仅支持使用 Selenium ChromeDriver 的 Chrome 版本 77
【发布时间】:2019-12-25 07:50:49
【问题描述】:

我正在使用 ChromeDriver 77.0.3865.10

Google Chrome 版本 76.0.3809.100(官方版本)(64 位)

C:\WINDOWS\system32>java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)

Eclipse IDE for Java Developers 版本:2019-06 (4.12.0)

Windows 10

我尝试重新安装 Windows 以获得新的操作系统,但仍然没有帮助。

代码试验:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class One {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "C:\\Work\\chromedriver_win32\\chromedriver.exe");
        WebDriver Driver=new ChromeDriver();
        Driver.get("http://www.yahoo.com");
    }
}

错误:

Starting ChromeDriver 77.0.3865.10 (bc3579f611bbc73331171afe020ec7a45e6ccc55-refs/branch-heads/3865@{#93}) on port 32932
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Exception in thread "main" 
org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 77
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'
System info: host: 'LAPTOP-P9CFNEOV', ip: '172.20.10.12', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_222'
Driver info: driver.version: ChromeDriver
remote stacktrace: Backtrace:
Ordinal0 [0x0046EBD3+1502163]
Ordinal0 [0x003EF781+980865]
Ordinal0 [0x0037763F+489023]
Ordinal0 [0x0030F2F4+62196]
Ordinal0 [0x0030BCDA+48346]
Ordinal0 [0x003297E0+169952]
Ordinal0 [0x0032940D+168973]
Ordinal0 [0x003278EB+162027]
Ordinal0 [0x00310AC7+68295]
Ordinal0 [0x00311B40+72512]
Ordinal0 [0x00311AD9+72409]
Ordinal0 [0x00408FE7+1085415]
GetHandleVerifier [0x0050D8AD+503293]
GetHandleVerifier [0x0050D640+502672]
GetHandleVerifier [0x0051471C+531564]
GetHandleVerifier [0x0050E0BA+505354]
Ordinal0 [0x004006B6+1050294]
Ordinal0 [0x0040052F+1049903]
Ordinal0 [0x0040B04B+1093707]
Ordinal0 [0x0040B1B3+1094067]
Ordinal0 [0x0040A145+1089861]
BaseThreadInitThunk [0x75988494+36]
RtlAreBitsSet [0x775641C8+136]
RtlAreBitsSet [0x77564198+88]

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0(W3CHandshakeResponse.java:62)
at org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:126)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
at One.main(One.java:10)

【问题讨论】:

  • chrome驱动好像不兼容,请使用浏览器版本正确的驱动。
  • 错误提示“此版本的 ChromeDriver 仅支持 Chrome 版本 77”

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


【解决方案1】:

试试这个,它对我有用。在基于 Mac/Unix 的系统上。

  1. 检查您当地的 Chrome 版本。然后转到: https://chromedriver.storage.googleapis.com/index.html 下载 匹配的主要版本(次要版本似乎没有 问题) - 例如95.local 到 95.driver)

  2. 提取并单击驱动程序。苹果安全不允许它 被打开。转到安全、常规和允许。

  3. 将自动化 repo/drivers/mac 中的 chromedriver 替换为新的 司机。

  4. 替换 /usr/local/bin (或其他系统路径)中的 chromedriver > 可以通过 sudo nano /etc/paths 进行检查)

  5. 确保您通过终端拥有匹配的驱动程序 > chromedriver --版本

现在运行你的测试,应该可以了!绕过这个线程,但这是试错法! :)

【讨论】:

    【解决方案2】:

    此错误消息...

    Starting ChromeDriver 77.0.3865.10 (bc3579f611bbc73331171afe020ec7a45e6ccc55-refs/branch-heads/3865@{#93}) on port 32932 
    Only local connections are allowed. 
    Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code. 
    Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 77 
    Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11- 14T08:25:48' 
    System info: host: 'LAPTOP-P9CFNEOV', ip: '172.20.10.12', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_222' 
    Driver info: driver.version: ChromeDriver
    

    ...暗示 ChromeDriver 无法启动/生成新的 WebBrowserChrome 浏览器 会话。


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

    • 您正在使用 chromedriver=77.0
    • chromedriver=77.0 的发行说明明确提及以下内容:

    支持Chrome 77版

    • 您正在使用 chrome= 76.0
    • ChromeDriver v76.0 的发行说明明确提及以下内容:

    支持Chrome 76版

    所以 ChromeDriver v77.0Chrome 浏览器 v76.0

    之间存在明显的不匹配

    解决方案

    确保:

    • ChromeDriver 已更新到当前的ChromeDriver v76.0 级别。
    • Chrome 已更新至当前 Chrome 版本 76.0 级别。 (根据ChromeDriver v76.0 release notes
    • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
    • 如果您的基础 Web Client 版本太旧,请通过Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 Web Client
    • 进行系统重启
    • 非root用户身份执行@Test

    参考

    您可以在以下位置找到相关的详细讨论:

    【讨论】:

    • 感谢您花时间详细解释。你的回答更好地提高了我对这个问题的理解。我用 ChromeDriver76 替换了 ChromeDriver77,现在它运行良好。感谢您的帮助,非常感谢。
    • @YSamKabir 这个答案有什么问题吗?
    【解决方案3】:

    是的,您需要下载与您的 Chrome 网络浏览器版本匹配的驱动程序版本,并确保 JRE 版本为

    【讨论】:

      【解决方案4】:

      你需要下载Chrome驱动到这个版本这里是你的版本链接你可以点击下载:https://chromedriver.storage.googleapis.com/index.html?path=77.0.3865.10/

      【讨论】:

        【解决方案5】:

        你应该下载这个驱动并将其替换为你的 chrome 驱动 Chrome Driver

        【讨论】:

        • 用 ChromeDriver76 替换了 ChromeDriver77,现在它运行良好。感谢您的帮助
        猜你喜欢
        • 1970-01-01
        • 2022-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-29
        • 2020-06-03
        相关资源
        最近更新 更多