小编典典

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

all

我正在尝试使用 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

阅读 74

收藏
2022-07-07

共1个答案

小编典典

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

我尝试了建议的解决方案无济于事。我发现我的电脑上的版本是正确的。但是,这种不匹配错误不是由计算机上安装的实际版本引起的,而是 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”)。

希望这可以帮助!

2022-07-07