ChromeDriver会话未创建:此版本的ChromeDriver仅支持Chrome 74版本的错误,使用Selenium和ChromeDriver Chrome。

200

我正在尝试使用rsDriver函数运行RSelenium,但是当我运行rD < - rsDriver()时,我收到了一条消息,告诉我需要一个更新的Chrome版本:

> rD <- rsDriver()
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking chromedriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking geckodriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking phantomjs versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
[1] "Connecting to remote server"

Selenium 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=Mac OS X 10.14.3 x86_64)

Could not open chrome browser.
Client error message:
     Summary: SessionNotCreatedException
     Detail: A new session could not be created.
     Further Details: run errorDetails method
Check server log for further details.

错误信息似乎表明我需要Chrome版本74.0.3729.6,但是当我查看Chrome的设置时,它告诉我我正在运行最新的稳定版本(73.0.3683.75)。经过进一步的搜索,74.0.3729.6是Chrome的预发行开发版:我需要安装它才能使用RSelenium吗?

我并不固执于使用Chrome,但我无法让rsDriver使用Firefox:当我指定browser = "firefox"时,rsDriver给我同样的错误消息,说ChromeDriver不支持我的Chrome版本。

我的会话信息为:

R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.3

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] wdman_0.2.4     forcats_0.3.0   stringr_1.3.1   dplyr_0.7.8     purrr_0.2.5     readr_1.3.1     tidyr_0.8.2    
 [8] tibble_2.0.1    ggplot2_3.1.0   tidyverse_1.2.1 rvest_0.3.2     xml2_1.2.0      RSelenium_1.7.5

1
下载这个旧版本。运行良好!>>---> https://chromedriver.storage.googleapis.com/index.html?path=2.46/ - Nelson Carvalho
1
在我的情况下,如果错误提示只支持版本76,我就不能使用Chrome 76.xxx。如果我降级到75.xxx,它会提示只支持版本75。如果我尝试最新版本(目前是78),它可以工作。 - BingLi224
今天我发现最简单的方法就是检查你的Chrome版本,下载Web驱动程序并将其复制到C:/programfiles/python/..,然后将此路径用于你的脚本......对我来说真的很有效。 - Nirmal Patel
使用以下命令在Ubuntu/Linux上更新Chromedriver和Chrome到最新版本:https://dev59.com/31UL5IYBdhLWcg3wM1ry#61218681 - alchemy
我检查了我电脑上安装的 Google Chrome 浏览器版本,然后下载了适合我的浏览器版本的 ChromeDriver。您可以从 https://chromedriver.chromium.org/ 下载它。 - VARAT BOHARA
显示剩余4条评论
24个回答

3
$ which chromedriver
/usr/local/bin/chromedriver
$ chromedriver --version
ChromeDriver 78.0.3904.105

我从https://chromedriver.chromium.org/downloads下载了一个zip文件。它说:“如果您正在使用Chrome版本79,请下载ChromeDriver 79.0.3945.36”,而我正在使用Chrome版本79(我通过chrome://settings/help进行了检查)。 显然,对我来说错误是“此版本的ChromeDriver仅支持Chrome版本78”。
然后,我点击了这个zip文件,并将“chromedriver”文件移到了/usr/local/bin/目录。问题解决了。
$ which chromedriver
$ chromedriver --version
ChromeDriver 79.0.3945.36

2

这个解决方案对我有用

  1. 确保您使用的是R 3.5.3或更高版本
  2. driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68")
提示:如果您遇到问题,请尝试升级R版本并按照上述步骤操作。

2
我遇到了这个问题,并通过以下两个主要步骤解决了它:

1 - 通过homebrew命令行更新至最新的chromedriver

brew cask upgrade chromedriver

2 - 通过Chrome GUI更新到最新版本

输入chrome://settings/help或按下cmd+,,然后在末尾添加help(由您选择)。

从那里,您应该会进入“关于Chrome”页面。在这里,您需要验证您是否使用的是最新版本(我遇到的问题源于cli与当前Chrome版本不匹配)。

如果您遇到错误,您将看到一个更新并重新启动的主要操作按钮。

Chrome“重新启动”后,它将拥有与您的cli匹配的最新版本。

示例:

Google Chrome is up to date
Version 80.0.3987.87 (Official Build) (64-bit)

1

我遇到了同样的错误:

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

...

驱动程序信息:driver.version: ChromeDriver

我们正在从没有真正UI的计算机上运行测试,因此我必须通过命令行(CLI)进行操作。

我首先检测了Linux计算机上安装的Chrome当前版本:

$> google-chrome --version

然后我得到了这样的响应:

Google Chrome 74.0.3729.169

然后我就像这样更新了Chrome版本:

$> sudo apt-get install google-chrome-stable

再次检查版本后,我得到了这个:

Google Chrome 75.0.3770.100

然后Selenium测试能够顺利运行。


当Chrome浏览器是通过repo/ppa安装的,且无法自行更新时适用。 - prusswan

1
我曾经遇到同样的问题,通过下载先前版本Chrome的chromedriver文件来解决。我发现Chrome 79版本兼容当前版本的Selenium。
然后将其保存在指定路径,并将该路径链接到我的webdriver
具体步骤在此链接中说明:http://chromedriver.chromium.org/downloads

1

只需更新Protractor:

npm install protractor@latest --save-dev

1
您可以像这样指定Chrome的确切版本安装:
webdriver-manager update --versions.chrome 73.0.3683.75
如果需要降级,可能需要先执行webdriver-manager clean

1
当出现这个错误时,不再需要降级Chrome,这只意味着是该运行 webdriver-manager update 的时候了。

1
当我在 Docker 实例中使用基于 Selenium 的机器人框架时,遇到了相同的错误。原因是 Docker 使用缓存的 google-chrome-stable_current_amd64.deb 版本,但安装了较新的 Chrome 驱动程序版本。
然后我使用了下面的命令,错误得到了解决。
docker-compose build --no-cache

希望这能帮助到某个人。

0

确保您拥有最新版本的webdriver-manager。您可以使用npm i webdriver-manager@latest --save进行安装。

然后运行以下命令:

command.webdriver-manager update

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