There are some questions similar to this one already asked in SO (Question 1), (Question 2), but none of those has received an answer (the last one has a relevant comment by @jdharrison directing the OP to file an issue). This is my problem:
I used to have a very simple script to get some information from a website into R:
startServer()
rd<-remoteDriver(remoteServerAddr="localhost",port=4444,browserName="firefox")
rd$open()
rd$navigate(url) #with a defined url
When I now try and run the script, after the rd$open()
it does open a firefox window (which keeps blank for about 30 seconds), and then closes and returns an error:
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
Reading through different posts at SO and some other sites, it seems the problem is caused by an incompatibility of firefox and RSelenium versions.
At the selenium forum in GitHub, there is a thread where it's stated that updating selenium from 2.44 to 2.45 solved the problem. But I'm clueless as to how I can update selenium, if RSelenium seems to be up to date:
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
And my build (likely culprit):
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"
How can I do to update selenium from R (if that makes any sense, of course)?,
Even better: how can I avoid the error that is showing in my previously-working script?
Thanks!
Updating the selenium server was enough to keep working with my actual firefox version (37.0.1). Running the code:
unlink(system.file("bin", package = "RSelenium"), recursive = T)
checkForServer()
updated my RSelenium build from 2.44 to 2.45. Instantly I was able to open a browser as it used to do.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With