SessionNotCreatedException:此版本的 ChromeDriver 仅支持通过 Selenium 和 Python 使用 ChromeDriver 和 Chrome 的 Chrome 版本 84

Huz*_*ama 6 python selenium google-chrome selenium-chromedriver selenium-webdriver

我在 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")
Run Code Online (Sandbox Code Playgroud)

并且我在运行它时总是收到此错误。

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
Run Code Online (Sandbox Code Playgroud)

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

Raj*_*eer 10

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

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

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

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

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

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

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

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

原始答案 - /sf/answers/4110954151/


Luc*_*can 7

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

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