RSelenium 和 ChromeDriver 的问题 - "This version of ChromeDriver only supports Chrome version X"

Problems with RSelenium and ChromeDriver - "This version of ChromeDriver only supports Chrome version X"

我很难让 RSelenium 在 R v4.1.2 中与我的 ChromeDriver 一起工作。最初,我安装了 ChromeDriver v97,因为我的 Mac 上有 Chrome v97 运行 作为我的浏览器。但是,尽管安装了 v97 ChromeDriver,但每次读取

时我都会收到错误消息

Selenium message:session not created: This version of ChromeDriver only supports Chrome version 98

所以我做了一些研究,我读到的所有内容都说我可以升级 Google Chrome 或降级我的驱动程序。我都试过了。我卸载了驱动程序并安装了早期版本 (v96),但它仍然给我完全相同的错误。然后我尝试升级我的 Chrome 浏览器,但它说它是最新的并且没有可用的升级。所以我只是想等到 v98 准备好安装。 v98 一出来,我就顺利地将浏览器升级到 Chrome v98Selenium ChromeDriver 运行。从那以后我没有改变任何东西。它 运行 几天了,但现在,突然间,我又遇到了错误,但现在它说

 "This version of ChromeDriver only supports Chrome version 99"

但是自从安装 v97 驱动程序后我还没有升级我的 ChromeDriver。似乎驱动程序中必须有一些代码来检查 Chrome 的最新版本是什么(即使那是 Beta 版本)并要求我拥有它,无论我拥有哪个驱动程序或浏览器安装。有没有人遇到过这个问题?知道如何解决这个问题吗?我无法升级到 v99,它还不可用,卸载我的 ChromeDriver 并重新安装以前的版本似乎也没有任何作用。

提前谢谢你。

要了解chrome版本的使用,

binman::list_versions("chromedriver")

$win32
 [1] "85.0.4183.87"  "86.0.4240.22"  "87.0.4280.20"  "87.0.4280.88"  "88.0.4324.27"  "91.0.4472.101" "91.0.4472.19"  "92.0.4515.107" "92.0.4515.43" 

然后您可以尝试适合您的版本,

library(RSelenium)
driver <- rsDriver(browser = "chrome",port = 9537L, chromever = "96.0.4664.45")

否则你可以使用 firefox,

driver = rsDriver(port = 4841L, browser = c("firefox"))

Mac有问题,因为有两种架构(Intel和M1),加载RSelenium驱动的代码自从M1出来后就没有更新过

此补丁 https://github.com/ropensci/wdman/pull/26 fixed the issue for me, working on an Intel Mac. You should also see this issue: https://github.com/ropensci/RSelenium/issues/221,它提供了一些代码来按顺序尝试驱动程序,直到找到一个可用的驱动程序。