selenium.common.exceptions.SessionNotCreatedException:消息:未创建会话:使用ChromeDriver,Chrome版本必须介于70和73之间

问题描述 投票:8回答:6

我正在尝试使用Selenium创建一个webcrawler,但是当我尝试创建webdriver对象时,我收到此错误。

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 6.1.7601 SP1 x86_64)

我下载了最新版本的chromedriver(2.45),需要Chrome 70-73。我目前的Chrome版本是68.0.3440.106(官方版本)(64位),这是最新版本。我尝试下载一个“较旧的”chrome version(71),当我尝试安装它时,安装程​​序表明我已经安装了一个较新的版本。

似乎没有任何以前的Chromedriver版本可供下载,即使网站上说有。我找不到他们。

我不太明白71版本是如何超过68的?

是否有比实际可用的68更新的Chrome版本,或者我可以在Chrome 68上使用的旧版chromedriver?

有没有人有任何其他建议?

这是我正在尝试执行的代码:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user = 'XXXXXXX'
pwd = 'XXXXXXX'
chromedriver = "...\...\...\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver) # Error occurs at this line
driver.get("http://www.facebook.com")
assert "Facebook" in driver.title
time.sleep(5) # So i can see something!
elem = driver.find_element_by_id("email")
elem.send_keys(user)
time.sleep(5) # So i can see something!
elem = driver.find_element_by_id("pass")
elem.send_keys(pwd)
time.sleep(5) # So i can see something!
elem.send_keys(Keys.RETURN)
driver.close()
python-3.x google-chrome selenium-webdriver webdriver selenium-chromedriver
6个回答
2
投票

你可以找到旧版本的chrome driver here

我不认为从官方渠道以外的来源安装铬是一个好主意,安装相同可能会导致问题。查看您的PC中是否正在运行Google更新服务。这会自动将chrome版本更新为最新版本。我正在运行版本71.0.3578.98(官方构建)(64位)。


8
投票

对我来说,升级驱动程序就可以了。赶紧跑:

brew cask upgrade chromedriver

然后再次尝试运行测试。希望能帮助到你!


4
投票

此错误消息...

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 6.1.7601 SP1 x86_64)

...暗示Chrome版本必须介于70和73之间

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

  • 您正在使用chromedriver = 2.45
  • chromedriver=2.45的发行说明明确提到以下内容:

支持Chrome v70-72

  • 您正在使用chrome = 68.0
  • ChromeDriver v2.41的发行说明明确提到以下内容:

支持Chrome v67-69

因此,ChromeDriver v2.45与Chrome浏览器v68.0之间存在明显的不匹配



替代

不知何故,我觉得您的系统中安装了2个版本的Chrome浏览器。如果是这种情况,您需要在程序中提及Chrome二进制文件的绝对位置,您可以使用以下解决方案:

  • 代码块: from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe" driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", ) driver.get('http://google.com/')
  • 你可以在Set chrome browser binary through chromedriver in Python找到详细的讨论

注意:您可以在Session not created exception: Chrome version must be >= x.y.z when using Selenium Webdriver with Chrome中找到相关的讨论


3
投票

有两种方法可以解决此问题:

1.如果您的Chrome版本未更新 - >更新它

步骤:1。转到帮助 - >关于Google Chrome - > Chrome会自动查找更新(将Chrome更新到最新版本)

enter image description here

2.如果您的chrome版本已经是最新版本 - >那么您需要升级Chrome驱动程序版本

这是链接:http://chromedriver.chromium.org/downloads

enter image description here


3
投票

我遇到了同样的问题。我尝试安装降级版Chrome(当前稳定版为74,驱动程序所需的Chrome版本必须介于70-73之间),但我无法这样做。

我发现了另一种方式。 This link将向您显示哪个版本与您当前的google-chrome兼容(要知道您的版本命令是google-chrome --version

This link将指导您如何安装带zip文件的chrome驱动程序。命令是:

cd
wget <URL to zip file>
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/bin/chromedriver
sudo chown root:root /usr/bin/chromedriver
sudo chmod +x /usr/bin/chromedriver

如果错误来自No such file or directory: '/usr/lib/chromium-browser/chromedriver'或同样的错误仍然存​​在

使用路径/usr/lib/chromium-browser/chromedriver而不是/usr/bin/chromedriver重复上述过程

对我来说,google-chrome版本74适用于ChromeDriver 73版


0
投票

你的chrome版本很老了。版本68不是最新版本。对于所有操作系统,Chrome目前的版本为71+。请参阅列表here

或者,this是下载旧版本的链接。


0
投票

综上所述:

  • 找到您的Chrome版本(帮助 - >关于Google Chrome)
  • 找到你的chromedriver版本,如果你已经有。 (对我来说,“chromedriver.exe -v”给了我windows环境版本。)
  • 访问官方chrome webdriver页面(http://chromedriver.chromium.org/downloads
  • 从上面的下载位置下载与您的Chrome浏览器版本匹配的chromedriver。
  • 浏览此下载页面上的发行说明,朝向页面的下半部分,这可以清楚地了解哪个驱动程序可用于哪个版本的浏览器。
  • 您可以将下载的chromedriver二进制文件放在路径环境中。

你去吧祝一切顺利!


0
投票

如果您使用的是Chrome版本75,请下载ChromeDriver 75.0.3770.8如果您使用的是Chrome版本74,请下载ChromeDriver 74.0.3729.6。对于旧版本的Chrome,请参阅下面的ChromeDriver支持版本。 http://chromedriver.chromium.org/downloads


0
投票

只需从here下载chromedriver扩展2.8或2.9。

解压缩并将此扩展名添加到/ usr / local / bin

© www.soinside.com 2019 - 2024. All rights reserved.