为了账号安全,请及时绑定邮箱和手机立即绑定

SessionNotCreatedException: 此版本的 ChromeDriver

SessionNotCreatedException: 此版本的 ChromeDriver

慕雪6442864 2022-12-20 16:31:29
我在 Windows 7、selenium、chromedriver 版本 84(最新)上使用 python 3 来自动化我的 chrome 浏览器。我正在使用这个脚本:from selenium import webdriver#import chromedriver_binary  # Adds chromedriver binary to pathdriver = 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,但我无法导航到网站!
查看完整描述

4 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

您的 ChromeDriver 版本和安装的 Chrome 版本需要匹配。您正在使用 ChromeDriver for Chrome version 84,在本回答时,它是 Chrome 的测试版(不稳定);你可能没有使用它。您可能使用的是 83 版。

检查您的 Chrome 版本(帮助 -> 关于),然后找到正确的ChromeDriver 版本。您可以改为使用webdriver-managerwhich can handle this for you。


查看完整回答
反对 回复 2022-12-20
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

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


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


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


pip install webdriver-manager

现在,问题中的上述代码只需进行以下更改即可,


from selenium import webdriver

from webdriver_manager.chrome import ChromeDriverManager


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

 

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



查看完整回答
反对 回复 2022-12-20
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

这个错误信息...

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。

//img1.sycdn.imooc.com//63a1731b0001ef0703830162.jpg

所以ChromeDriver v84Chrome Browser v83之间存在明显的不匹配


解决方案

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

此外还要确保:

  • Selenium升级到当前级别Version 3.141.59

  • 如果您的基本Web 客户端版本太旧,则将其卸载并安装最新的 GA 和已发布版本的Web 客户端

  • 通过您的IDE清理您的项目工作区,并仅使用所需的依赖项重建您的项目。

  • 如果您的基本Web 客户端版本太旧,则将其卸载并安装最新的 GA 和已发布版本的Web 客户端

  • 重新启动系统

  • @Test非 root用户身份执行。

  • 始终driver.quit()tearDown(){}方法内调用以优雅地关闭和销毁WebDriverWeb Client实例。


查看完整回答
反对 回复 2022-12-20
?
HUWWW

TA贡献1874条经验 获得超12个赞

Chromedriver 需要更新。

从https://chromedriver.chromium.org/downloads下载并安装最新的 chromedriver


查看完整回答
反对 回复 2022-12-20
  • 4 回答
  • 0 关注
  • 330 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信