【问题标题】:SessionNotCreatedException: This version of ChromeDriver only supports Chrome version 84 using ChromeDriver and Chrome through Selenium and PythonSessionNotCreatedException:此版本的 ChromeDriver 仅支持 Chrome 版本 84 使用 ChromeDriver 和 Chrome 通过 Selenium 和 Python
【发布时间】:2020-09-24 23:37:26
【问题描述】:

我在 Windows 7、selenium、chromedriver 版本 84 上使用 python 3 (最新)自动化我的 chrome 浏览器。

我正在使用这个脚本:

from selenium import webdriver
#import chromedriver_binary  # Adds chromedriver binary to path

driver = webdriver.Chrome()
driver.get("http://www.python.org")

我在运行它时总是遇到这个错误。

Traceback (most recent call last):
  File "D:\Huzefa\Desktop\zzzzzz.py", line 4, in <module>
    driver = webdriver.Chrome()
  File "C:\Users\Huzefa\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 81, in __init__
    desired_capabilities=desired_capabilities)
  File "C:\Users\Huzefa\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\Huzefa\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\Huzefa\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Huzefa\AppData\Local\Programs\Python\Python36\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 84

我的 ChromeDriver 在路径中。我也使用过其他版本的 chromedriver,但我无法导航到网站!

【问题讨论】:

  • 错误信息似乎不言自明:要么您需要使用 Chrome >= 84,要么使用更早版本的 Selenium。 Selenium 的安装版本是什么?
  • 也许您需要卸载 Selenium IDE,然后使用“以前的 IDE 版本”的链接从 selenium.dev/downloads 下载并安装适当的早期版本

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


【解决方案1】:

我们可以自动完成下载二进制文件和配置路径的任务。

我们不必担心浏览器版本或二进制版本

这可以通过使用webdriver-manager来完成

pip install webdriver-manager

现在问题中的上述代码将与以下更改一起工作,

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())
 

同样可用于设置 Firefox、Edge 和 ie 二进制文件。

原始答案 - https://stackoverflow.com/a/58727916/9928905

【讨论】:

    【解决方案2】:

    此错误消息...

    selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 84
    

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


    分析

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

    • 您正在使用 chromedriver=84
    • chromedriver=84 的发行说明明确提到:

    支持Chrome 84版

    • 大概您正在使用 chrome=83 Chrome 的最新推送。

    所以 ChromeDriver v84Chrome 浏览器 v83

    之间存在明显的不匹配

    解决方案

    此问题有两 (2) 个解决方案。

    另外还要确保:

    • Selenium 升级到当前级别Version 3.141.59
    • 如果您的基本 Web 客户端 版本太旧,请卸载它并安装最新的 GA 和发布版本的 Web 客户端
    • 清理你的项目工作区通过你的IDE重建你的项目只需要依赖。
    • 如果您的基本 Web 客户端 版本太旧,请卸载它并安装最新的 GA 和发布版本的 Web 客户端
    • 进行系统重启
    • 非root用户身份执行@Test
    • 始终在 tearDown(){} 方法中调用 driver.quit() 以优雅地关闭和销毁 WebDriverWeb Client 实例。

    【讨论】:

      【解决方案3】:

      您的 ChromeDriver 版本和您安装的 Chrome 版本需要匹配。您正在为Chrome version 84 使用 ChromeDriver,在此答案时,它是 Chrome 的 beta(非稳定)版本;你可能没有使用它。您可能使用的是 83 版。

      检查您的 Chrome 版本(帮助 -> 关于),然后找到正确的 ChromeDriver release。您可以改用 webdriver-manager 来为您处理。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-29
        • 2019-12-25
        • 2020-11-06
        • 2022-01-16
        • 1970-01-01
        • 2022-07-08
        相关资源
        最近更新 更多