一尘不染

会话未创建:此版本的ChromeDriver仅支持ChromeDriver出现Chrome 74版本错误,Chrome浏览器使用Selenium

selenium

我正在尝试使用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的预发行开发版本:我是否需要安装此版本才能将ChromeDriver与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

阅读 838

收藏
2020-06-26

共1个答案

一尘不染

今天我遇到了同样的问题,并从Google找到了这篇文章和其他文章。我想我可能有更直接的解决方案来修改您的代码。先前的答案在确定版本不匹配方面是正确的。

我尝试了建议的解决方案,但没有成功。我发现计算机上的版本正确。但是,此不匹配错误不是由计算机上安装的实际版本引起的,而是RSelenium代码默认情况下正在寻找“最新”版本的Chrome
/ ChromeDriver。有关?rsDriver()参数,请参见帮助页面。

如果binman::list_versions("chromedriver")按照帮助文档中的说明运行代码,则可以识别与该功能兼容的版本。就我而言,我能够使用以下代码建立连接。

driver <- rsDriver(browser=c("chrome"), chromever="73.0.3683.68", extraCapabilities = eCaps)

您应该可以使用chromever=参数指定您的Chrome版本。不过,我必须使用最接近的版本(我的Chrome版本为“ 73.0.3683.75”)。

希望这可以帮助!

2020-06-26