我很难让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
所以我做了一些研究,我读到的所有内容都表明我可以升级谷歌Chrome或降级我的驱动程序。我都试过了。我卸载了驱动程序并安装了早期版本(v96
(,但它仍然给了我完全相同的错误。然后我尝试升级我的Chrome浏览器,但它说它是最新的,没有可用的升级。所以我只是觉得我应该等到v98
准备好安装。v98
一出,我就把浏览器升级到了Chrome v98
,Selenium
和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(,并且自M1问世以来,加载RSelenium驱动程序的代码一直没有更新。
此修补程序https://github.com/ropensci/wdman/pull/26为我解决了这个问题,在英特尔Mac上工作。您还应该看到这个问题:https://github.com/ropensci/RSelenium/issues/221,它提供了一些代码来依次尝试驱动程序,直到找到一个有效的驱动程序。