有些问题类似于在SO (问题1),(问题2)中已经提出过的问题,但没有一个问题得到答案(最后一个问题由@jdharrison指示OP提出问题).这是我的问题:
我曾经有一个非常简单的脚本从网站获取一些信息到R:
startServer()
rd<-remoteDriver(remoteServerAddr="localhost",port=4444,browserName="firefox")
rd$open()
rd$navigate(url) #with a defined url
Run Code Online (Sandbox Code Playgroud)
当我现在尝试运行脚本时,rd$open()它会打开一个firefox窗口(保持空白约30秒),然后关闭并返回错误:
rd$open()
[1] "Connecting to remote server"
Error: Summary: UnknownError
Detail: An unknown server-side error occurred while processing the command.
class: org.openqa.selenium.firefox.NotConnectedException
Run Code Online (Sandbox Code Playgroud)
阅读SO和其他一些网站上的不同帖子,似乎问题是由firefox和RSelenium版本的不兼容引起的.
在GitHub的selenium论坛上,有一个帖子表明将硒从2.44更新到2.45解决了这个问题.但是,如果RSelenium似乎是最新的,我对如何更新硒一无所知:
sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Spanish_Colombia.1252
[2] LC_CTYPE=Spanish_Colombia.1252
[3] LC_MONETARY=Spanish_Colombia.1252
[4] LC_NUMERIC=C
[5] LC_TIME=Spanish_Colombia.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
other attached packages:
[1] RSelenium_1.3.5 XML_3.98-1.1 RJSONIO_1.3-0 RCurl_1.95-4.3
[5] bitops_1.0-6
loaded via a namespace (and not attached):
[1] caTools_1.17.1 tools_3.1.2
Run Code Online (Sandbox Code Playgroud)
我的构建(可能是罪魁祸首):
rd$getStatus()
$build
$build$version
[1] "2.44.0"
$build$revision
[1] "76d78cf"
$build$time
[1] "2014-10-23 20:02:37"
$os
$os$name
[1] "Windows 8"
$os$arch
[1] "amd64"
$os$version
[1] "6.2"
$java
$java$version
[1] "1.7.0_45"
Run Code Online (Sandbox Code Playgroud)
如何更新R中的硒(当然,如果有意义的话)?,
更好的是:如何避免我以前工作的脚本中出现的错误?
谢谢!
更新 selenium 服务器足以继续使用我的实际 Firefox 版本(37.0.1)。运行代码:
unlink(system.file("bin", package = "RSelenium"), recursive = T)
checkForServer()
Run Code Online (Sandbox Code Playgroud)
将我的 RSelenium 版本从 2.44 更新到 2.45。我立刻就能像以前一样打开浏览器。