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个回答

0

今天我也遇到了同样的问题。

我的解决方案:

下载最新稳定版的chromedriver:https://sites.google.com/a/chromium.org/chromedriver/

更新你的Selenium文件夹中的chrome driver。这有点困难,因为它位于你电脑上一个名为AppData的隐藏文件夹中。以下是我在我的电脑(Windows 7)上的操作方式:

C: > users > your user > \AppData(你需要在文件路径框中写入这个,因为它是一个隐藏文件夹)> Local(这是葡萄牙语中的文件夹名称,对你来说可能会有不同的名称)> SeleniumBasic

在那里,你会找到chromedriver应用程序。只需将其重命名(以防它不起作用,你想要旧版本),然后粘贴最新版本即可。


0

我有和这个问题几乎一样的情况,问题出现在运行需要chromedriver包的selenium测试时,它进入了pipeline。

我的构建错误

问题是因为pipeline中(在我的情况下)有chrome版本73,而我的chromedriver包已安装在74版本。

最终有两个简单的解决方案:

  1. 降级您的chrome
  2. 降级您的chromedriver包版本。在我的情况下,因为我在pipeline内运行,所以需要在运行selenium测试之前安装chromedriver,如下所示:

    - script: npm install chromedriver@73.0.0 --chromedriver-force-download displayName: 'Install Chrome'


我也遇到了同样的问题,如何在Jenkins节点上知道Chrome的版本? - Chandresh Mishra
如果没有Chrome,如何在构建流水线的一部分上安装Chrome节点 - Chandresh Mishra
要将Chrome作为构建流程的一部分安装,你只需要添加我上面提供的任务脚本。 - Gadani

0

我在我的Mac OS Big Sur上遇到了类似的问题。 在2021年,正确的命令是:

brew upgrade --cask chromedriver 

0

我最近也遇到了同样的问题。这是我的错误:

System.InvalidOperationException : session not created: This version of ChromeDriver only supports Chrome version 76 (SessionNotCreated)

这个方法对我有用:

  • 确保没有正在运行的chromedriver.exe进程(如果需要,通过任务管理器杀死它们)
  • 进入bin文件夹,从那里删除chromedriver.exe文件(在我的情况下是:[项目文件夹]\bin\Debug\netcoreapp2.1

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