SessionNotCreatedException:消息:会话未创建:此版本的 ChromeDriver 仅支持 Chrome 版本 81

fin*_*ner 99 selenium google-chrome robotframework selenium-chromedriver selenium-webdriver

我目前是机器人框架的新手。我目前正在使用最新的 chrome 和 chromedriver 窗口版本,它是 80,但是当我尝试运行测试时,它给出消息“SessionNotCreatedException:消息:未创建会话:此版本的 ChromeDriver 仅支持 Chrome pycharm 中的版本 81”,但目前仅提供 81 的测试版。我试过卸载所有东西并重新安装它,但没有任何效果任何人都可以帮助我解决这个问题。谢谢!

截图如下: 1

2

dyl*_*anw 172

我使用 webdrive 管理器解决了这些问题。

您可以通过使用 webdrive-manager 自动使用正确的 chromedriver。安装 webdrive 管理器:

pip install webdriver-manager
Run Code Online (Sandbox Code Playgroud)

然后使用python中的驱动如下

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
Run Code Online (Sandbox Code Playgroud)

这个答案取自/sf/answers/3701510781/

  • 谢谢,@dylanvanw,但每次都需要下载图像? (2认同)
  • @EspoirMurhabazi,您不需要每次都下载图像。webdriver_manager 中有一个缓存机制,因此如果可能的话,它将在您的计算机上使用 webdriver_manager 在先前运行中下载的正确驱动程序。 (2认同)

小智 36

执行以下步骤:

  1. 检查chrome浏览器的版本。

  2. https://sites.google.com/chromium.org/driver/home下载相同版本的 chromedriver

  3. 在 pycharm 中给出正确的路径并运行代码。


Tao*_*Nhu 22

我在 MacOS 上收到了同样的消息:

“selenium.common.exceptions.SessionNotCreatedException:消息:会话未创建:此版本的 ChromeDriver 仅支持 Chrome 版本 81”

然后我运行这个命令,它不见了:

# Homebrew 3
brew upgrade chromedriver

# Homebrew < 3
brew cask upgrade chromedriver
Run Code Online (Sandbox Code Playgroud)

  • 对于 Homebrew 3,只需“brew update chromedriver”。 (4认同)

Deb*_*anB 9

这个错误信息...

SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81
Run Code Online (Sandbox Code Playgroud)

...暗示ChromeDriver v81无法启动/生成新的浏览上下文,即版本不是 81.0 的Chrome 浏览器


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

  • 您提到了使用chromedriver=80chrome=80但不知何故在您的程序执行时使用了ChromeDriver v 81.0
  • 因此,很明显您的系统中存在chromedriver=81.0并且存在于系统PATH变量中,该变量在您执行以下操作时被调用:

    driver = webdriver.Chrome()
    
    Run Code Online (Sandbox Code Playgroud)

解决方案

有两种解决方案:

  • 要么将chrome升级到Chrome 版本 81.0级别。(根据ChromeDriver v81.0 发行说明
  • 或者你可以覆盖默认chromedriver v81.0二进制的位置,chromedriver v80.0二进制位置,如下所示:

    from selenium import webdriver
    
    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe')
    driver.get('http://google.com/')
    
    Run Code Online (Sandbox Code Playgroud)

参考

您可以在以下位置找到一些相关讨论:


小智 6

解决方案(至少在 OSX 上)是:

  1. 下载最新的 chromedriver 文件。
  2. 解压下载的文件。
  3. 搜索计算机上旧 chromedriver 文件的位置,并将其替换为新的 chromedriver 文件。
  4. 右键单击 chromedriver 文件,然后单击“打开”。不要双击,因为 Mac 不会以正确的方式打开它。
  5. 文件第一次运行后,您可以将其关闭,更新就会发生。


小智 5

转到您的 Chrome 设置 -> 关于 Chrome -> 检查版本并根据您的 Chrome 版本从下面下载 chromedriver https://chromedriver.chromium.org/downloads


小智 5

Chrome 版本每天都在更新,因此您需要根据 chrome 版本使用准确的 chromedriver 版本 https://chromedriver.chromium.org/downloads在此网站上您可以下载 chromedrivers


Tea*_*ava 5

  1. 首先检查最新的 Chrome 版本(这是您的浏览器 Chrome 版本)链接

  2. 从此链接下载相同版本的 Chrome Web Driver

如果与您的 Chrome浏览器版本不匹配,请不要下载最新的 Chrome网络驱动程序。

注意:当我写这条消息时,最新的 Chrome 浏览器版本是 84,但最新的 Chrome 驱动程序版本是 85。我使用的是 84 版本的 Chrome 驱动程序,因此 Chrome 驱动程序和 Chrome 浏览器版本是相同的。


sur*_*pal 5

这对我有用

brew cask upgrade chromedriver
Run Code Online (Sandbox Code Playgroud)