我开始在python中玩硒,当我尝试运行此代码时,它弹出一个错误,指出此版本的chromedriver仅支持chrome 74,但是我已经从此处下载了74: 3}}
我要运行的代码:
import selenium
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://stackoverflow.com')
driver.quit()
错误:
Traceback (most recent call last):
File "c:/Users/Main/Desktop/Python web bot/Bot
code/selenium_training.py", line 3, in <module>
driver = webdriver.Chrome()
File "C:\Users\Main\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 81, in __init__
desired_capabilities=desired_capabilities)
File "C:\Users\Main\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "C:\Users\Main\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "C:\Users\Main\AppData\Local\Programs\Python\Python37\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\Main\AppData\Local\Programs\Python\Python37\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 74
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17134 x86_64)
如您所见,它说我需要74 chrome版,但我已经拥有了!
答案 0 :(得分:0)
此错误消息...
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 74
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17134 x86_64)
...表示 ChromeDriver 期望 Chrome浏览器版本为 74 。
您的主要问题是所使用的二进制版本之间的不兼容性:
支持 Chrome v74
大概您在系统中安装了多个版本的 Chrome 浏览器,并且在 chromedriver = 74.0访问的默认位置安装了 Chrome 浏览器版本。 .3729.6 不是不是 Chrome浏览器v74.0 。因此,您会看到错误。
最快的解决方案是将默认位置安装的 Chrome 版本升级到 Chrome v74 级别。
或者,如果您要使用安装在非标准位置中的 Chrome 浏览器二进制文件,则可以将ChromeOptions()
的实例与binary_location
属性指向非标准Chrome浏览器位置,如下所示:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:\\Program Files\\Chrome\\chrome64_55.0.2883.75\\chrome.exe"
driver = webdriver.Chrome(chrome_options = options, executable_path=r'C:\path\to\chromedriver.exe')
driver.get('http://google.com/')
print("Chrome Browser Invoked")
driver.quit()
您可以在Cannot find Chrome binary with Selenium in Python for older versions of Google Chrome
中找到详细的讨论
答案 1 :(得分:0)
在计算机上搜索“ chromedriver”文件,然后删除所有搜索到的文件,并将最新的驱动程序复制到所需的驱动程序文件夹中。这样可以解决问题。
答案 2 :(得分:0)
最常见的情况是chrome本身进行更新,但您尚未更新本地ChromeDriver版本以匹配本地安装的chrome版本。
在Chrome浏览器中,点击右上角的三个点-帮助->关于Google Chrome。这将显示您的chrome版本。或chrome:// settings / help
从https://chromedriver.storage.googleapis.com/index.html下载相同版本
将其保存到定义的路径,如@DebanjanB的答案。
答案 3 :(得分:0)
只需转到chrome,然后检查PC中的chrome版本。 (帮助->关于Chrome) 从下面的链接下载相同版本的ChromeDriver ...
https://sites.google.com/a/chromium.org/chromedriver/downloads
然后将其解压缩并粘贴到脚本文件夹中。