无法启动新会话,响应代码500,未创建会话:此版本的ChromeDriver仅支持Chrome版本105

ljo96ir5  于 2023-09-28  发布在  Go
关注(0)|答案(5)|浏览(176)

我在开发一个使用 selenium 的应用程序。

  • 操作系统:macOS
  • 语言:Kotlin
  • JDK:Java 18

但它失败了。

输出

Starting ChromeDriver 105.0.5195.19 (b9c217c128c16f53d12f9a02933fcfdec1bf49af-refs/branch-heads/5195@{#176}) on port 50362
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 105
Current browser version is 104.0.5112.79 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Build info: version: '4.4.0', revision: 'e5c75ed026a'
System info: host: 'mymac.local', ip: '2400:2200:6f0:7919:347b:3223:3841:9545%en0', os.name: 'Mac OS X', os.arch: 'aarch64', os.version: '12.3', java.version: '18.0.2'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [], extensions: []}}], desiredCapabilities=Capabilities {browserName: chrome, goog:chromeOptions: {args: [], extensions: []}}}]
    at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:144)
    ......

build.gradle.kts

dependencies {
    testImplementation(kotlin("test"))
    implementation(compose.desktop.currentOs)

    // Selenium
    // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java
    implementation("org.seleniumhq.selenium:selenium-java:4.4.0")
    // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-chrome-driver
    implementation("org.seleniumhq.selenium:selenium-chrome-driver:4.4.0")
}

代码

fun launch() {
    System.setProperty(
        "webdriver.chrome.driver",
        "/driver/path/chromedriver"
    );
    ChromeDriver();
}

Chrome驱动程序版本105.0.5195.19是我保存在/driver/path/chromedriver的驱动程序之一。104.0.5112.79是我在macOS上安装的Chrome版本。
我必须使用Chromedriver版本104吗?或者有什么方法可以使用105版本的一个?
我不知道为什么当我设置webdriver.chrome.driver时需要macOS上的Chrome版本。

irtuqstp

irtuqstp1#

你可以检查你当前的谷歌Chrome版本,如果不是105,你可以更新。
在我的情况是:
版本104.0.5112.102
或者另一个解决方案将是降级Chrome驱动程序

agxfikkp

agxfikkp2#

你可以使用这个:
dependencies{ compile('org.seleniumhq.selenium:selenium-java:4.11.0')implementation group:'io.github. bonigarcia',名称:'webdrivermanager',版本:'5.5.2' }

xoshrz7s

xoshrz7s3#

webdrivermanager版本应该更新到最新版本

xjreopfe

xjreopfe4#

我在Chrome 116版本中也遇到了同样的错误。我遵循的步骤:
1.在浏览器中键入最新版本的Chrome驱动程序
1.它将导航到https://chromedriver.chromium.org/downloads

  • 下载最新版本。如果最新版本不可用,则它会为您提供下载Chromedriver最新版本的路径,以进行如下测试。
  • 如果您使用的是Chrome 115或更高版本,请参阅Chrome以测试可用性 Jmeter 板。此页面为特定的ChromeDriver版本下载提供方便的JSON端点。
  • 下载驱动程序zip文件后,解压缩该文件并指向chromedrive.exe文件路径。
ryevplcw

ryevplcw5#

此错误消息...

org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 105

...意味着ChromeDriver无法启动/产生新的 * 浏览上下文 *,即google-chrome会话。
您的主要问题是您正在使用的二进制文件版本之间的不兼容,如下所示:

  • 您正在使用 chromedriver=105.0
  • chromedriver=105.0的发行说明中明确提到了以下内容:

支持Chrome版本105

  • 想必你用的是最新的 Chrome=104.0

因此,chromedriver=105.0chrome=104.0 之间存在明显的不匹配

解决方案

确保:

同时确保

相关问题