这是我使用的rsDriver的用法:
library(RSelenium)
driver <- rsDriver(browser = "chrome", chromever = "74.0.3729.6", geckover = NULL, iedrver = NULL, phantomver = NULL)
我认识到docker是使事情顺利进行的推荐方法,但是我正在为那些每次都很难启动的人编写脚本(rsDriver也可以在家里工作,而不是在工作中……)。
当我运行上面的代码块时,这是输出:
checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking chromedriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
[1] "Connecting to remote server"
Could not open chrome browser.
Client error message:
subscript out of bounds
Check server log for further details.
这是它挂起稳定的几分钟之后。几秒钟后,Chrome浏览器将打开,并显示“数据”。在搜索栏中,但几分钟后它将关闭。
尝试运行driver$client$open()
我得到
Error in resContent[["status"]] : subscript out of bounds
此挂起的时间大约相同。
得到这个后,我运行
> criver <- driver$client
> criver$navigate("http://www.reddit.com/r/nba")
哪个挂起的时间也大致相同,并将这个错误告诉我:
Error in checkError(res) :
Undefined error in httr call. httr output: length(url) == 1 is not TRUE
请注意,我正在使用移动热点,以绕过公司的防火墙等。我运行了getStatus()并得到了以下内容:
> criver$getStatus()
$ready
[1] TRUE
$message
[1] "Server is running"
$build
$build$revision
[1] "d1d3728cae"
$build$time
[1] "2019-04-24T16:15:24"
$build$version
[1] "4.0.0-alpha-1"
$os
$os$arch
[1] "amd64"
$os$name
[1] "Windows 10"
$os$version
[1] "10.0"
$java
$java$version
[1] "1.8.0_201"
我不确定是什么问题。我将chromedriver.exe的路径添加为PATH环境变量,然后重新启动R。感谢您的任何帮助!
谢谢!