PavoDive PavoDive - 4 months ago 42
R Question

RSelenium error: NotConnectedException

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!

Answer

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.