Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RSelenium error: NotConnectedException

Tags:

r

rselenium

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!

like image 542
PavoDive Avatar asked Apr 16 '15 19:04

PavoDive


1 Answers

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.

like image 147
PavoDive Avatar answered Sep 20 '22 20:09

PavoDive