我正在尝试使用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()
你可以找到旧版本的chrome driver here。
我不认为从官方渠道以外的来源安装铬是一个好主意,安装相同可能会导致问题。查看您的PC中是否正在运行Google更新服务。这会自动将chrome版本更新为最新版本。我正在运行版本71.0.3578.98(官方构建)(64位)。
对我来说,升级驱动程序就可以了。赶紧跑:
brew cask upgrade chromedriver
然后再次尝试运行测试。希望能帮助到你!
此错误消息...
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之间
您的主要问题是您使用的二进制文件之间的版本兼容性如下:
支持Chrome v70-72
支持Chrome v67-69
因此,ChromeDriver v2.45与Chrome浏览器v68.0之间存在明显的不匹配
@Test
。不知何故,我觉得您的系统中安装了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/')
注意:您可以在Session not created exception: Chrome version must be >= x.y.z when using Selenium Webdriver with Chrome中找到相关的讨论
有两种方法可以解决此问题:
1.如果您的Chrome版本未更新 - >更新它
步骤:1。转到帮助 - >关于Google Chrome - > Chrome会自动查找更新(将Chrome更新到最新版本)
2.如果您的chrome版本已经是最新版本 - >那么您需要升级Chrome驱动程序版本
我遇到了同样的问题。我尝试安装降级版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版
综上所述:
你去吧祝一切顺利!
如果您使用的是Chrome版本75,请下载ChromeDriver 75.0.3770.8如果您使用的是Chrome版本74,请下载ChromeDriver 74.0.3729.6。对于旧版本的Chrome,请参阅下面的ChromeDriver支持版本。 http://chromedriver.chromium.org/downloads
只需从here下载chromedriver扩展2.8或2.9。
解压缩并将此扩展名添加到/ usr / local / bin