会话未创建:此版本的ChromeDriver仅支持Chrome 94版本,当前浏览器版本为93.0.4577.82。

11

编写一个简单的Selenium脚本来点击网站上的链接。 脚本的编写方式如下:

from selenium import webdriver
import time

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--disable-gpu")
browser = webdriver.Chrome(options=chrome_options)

try:
    browser.get("https://www.google.com")
    print("Page title was '{}'".format(browser.title))

finally:
    browser.quit()

现在问题在于实际的 Chrome Driver,我遇到了以下异常:

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 94
Current browser version is 93.0.4577.82 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

我去了chromedriver下载网站,但我仍然遇到了相同的错误。

5个回答

6

2

这个错误是由于您的Google Chrome浏览器和驱动程序版本不一致引起的。建议更新驱动程序,而不是安装旧版的Google Chrome,因为未来它将不断更新(为什么要使用过时的技术呢?)。

我通常使用:

ChromeDriverManager

因为您可以随时使用以下命令下载驱动程序,而无需访问Web驱动程序网站:

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

此外,使用此命令给出的路径,您可以使用新安装的版本:
driver = webdriver.Chrome(executable_path=r"C:\path_to_chrome_driver_executable\chromedriver.exe")

2

如果您正在使用 Mac,运行以下命令:

brew reinstall chromedriver

1
这让我发疯了。我是这样解决的,我们使用的是selenium npm模块。
运行下面的代码,它会告诉你正在使用哪个可执行文件路径。
const { Builder, By, Key, util } = require("selenium-webdriver");
const chrome = require("selenium-webdriver/chrome");
console.log(chrome.getDefaultService().executable_);

我已经全局安装了Chrome驱动程序。
npm i chromedriver -g

可执行文件路径显示我正在使用这个和一个较旧的版本。
卸载了这个。
npm uninstall chromedriver -g

现在它开始使用我下载并添加到PATH中的版本。
从这里下载最新的Chromedriver。

https://chromedriver.chromium.org/downloads

将其添加到.zshrc文件中的路径中。
export PATH=/Users/dave/SeleniumWebdrivers:$PATH

把你下载的驱动程序拖到这个文件夹里。

0

我认为有另一种解决这个问题的方法。卸载Protractor并重新安装它,看看会发生什么神奇的事情。

npm uninstall protractor
npm install protractor

会话未创建:此版本的ChromeDriver仅支持

与您正在使用的Chrome浏览器不兼容。请确保使用与ChromeDriver版本相对应的Chrome浏览器版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接