1

When trying to run the RSelenium examples to try and carry out some webscraping I get the following error message when trying to open up the server...I'm not sure what the issue is...

library(RSelenium)
startServer()

# use default server initialisation values
remDr <- remoteDriver$new()

# send request to server to initialise session
remDr$open()

[1] "Connecting to remote server"
$message
[1] "GET /session/\nBuild info: version: '2.42.0', revision: '5e82430', time: '2014-05-22 20:18:07'\nSystem info: host: 'xxxxx-PC', ip: 'xx.xxx.xx.xx', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.7.0_60'\nDriver info: driver.version: unknown"

$localizedMessage
[1] "GET /session/\nBuild info: version: '2.42.0', revision: '5e82430', time: '2014-05-22 20:18:07'\nSystem info: host: 'xxxx-PC', ip: 'xx.xxx.xx.xx', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.7.0_60'\nDriver info: driver.version: unknown"

$suppressed
list()

$cause
NULL

$systemInformation
[1] "System info: host: 'xxxxx-PC', ip: 'xx.xx.xx.xx', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.7.0_60'"

$supportUrl
NULL

$class
[1] "org.openqa.selenium.UnsupportedCommandException"

$additionalInformation
[1] "\nDriver info: driver.version: unknown"

$hCode
[1] 142976762

Then there are some stackTrace info, all of which are NULL

Any ideas on how to solve this issue?

Also when trying to run a demo I get the following issue...(but think its because RSelenium::startServer() wasnt run first)

> demo(selExecJSexample)


demo(selExecJSexample)
---- ~~~~~~~~~~~~~~~~

  Type  <Return>     to start : 

  > # see http://stackoverflow.com/questions/22121006/how-to-scrape-this-squawka-page/22127054#22127054
  > # RSelenium::startServer() # if needed
  > require(RSelenium)

> remDr <- remoteDriver()

> remDr$open()
[1] "Connecting to remote server"
Error in function (type, msg, asError = TRUE)  : couldn't connect to host
h.l.m
  • 13,015
  • 22
  • 82
  • 169
  • What version of firefox are you trying to drive? – jdharrison Sep 09 '14 at 13:05
  • the firefox version im trying to use has just been downloaded, so i think its the latest version... 32.0 – h.l.m Sep 09 '14 at 13:09
  • It is a known issue https://groups.google.com/forum/#!topic/selenium-users/Cutwloq3Sgk a 2.43.0 selenium server should be released shortly I would imagine. – jdharrison Sep 09 '14 at 13:19
  • Could it work if trying to drive google chrome instead? and if so, what changes would I need to make for it to work? – h.l.m Sep 09 '14 at 13:23
  • Please file an issue at https://github.com/ropensci/RSelenium and ill look into the issue. This will occur from time to time due to the selenium release cycle and the frequency at which browsers are updated. Best handled on github least we overload this thread with comments ;) – jdharrison Sep 09 '14 at 13:27
  • Issue filed: https://github.com/ropensci/RSelenium/issues/26 – h.l.m Sep 09 '14 at 13:35

1 Answers1

1

This was an issue with the selenium release cycle being slightly out of sync with the firefox release cycle. http://selenium-release.storage.googleapis.com/index.html now contains an updated Selenium Server (currently version 2.43.0). Running RSelenium::checkForServer with update = TRUE will update the Selenium Server locally and the most recent firefox should function:

> library(RSelenium)
> checkForServer(update = TRUE)
[1] "DOWNLOADING STANDALONE SELENIUM SERVER. THIS MAY TAKE SEVERAL MINUTES"
trying URL 'http://selenium-release.storage.googleapis.com/2.43/selenium-server-standalone-2.43.0.jar'
Content type 'application/x-java-archive' length 34932130 bytes (33.3 Mb)
opened URL
downloaded 33.3 Mb

> remDr <- remoteDriver()
> startServer()
> remDr$open()
[1] "Connecting to remote server"
$platform
[1] "WINDOWS"

$acceptSslCerts
[1] TRUE

$javascriptEnabled
[1] TRUE

$browserName
[1] "firefox"

$rotatable
[1] FALSE

$locationContextEnabled
[1] TRUE

$webdriver.remote.sessionid
[1] "a2eee1ff-d9fd-41ce-ac0e-e11ce24cb516"

$version
[1] "32.0"

$cssSelectorsEnabled
[1] TRUE

$databaseEnabled
[1] TRUE

$handlesAlerts
[1] TRUE

$webStorageEnabled
[1] TRUE

$nativeEvents
[1] TRUE

$applicationCacheEnabled
[1] TRUE

$takesScreenshot
[1] TRUE

$id
[1] "a2eee1ff-d9fd-41ce-ac0e-e11ce24cb516"

Running remDr$getStatus() should show everything is uptodate:

> remDr$getStatus()
$os
$os$arch
[1] "amd64"

$os$name
[1] "Windows 8.1"

$os$version
[1] "6.3"


$java
$java$version
[1] "1.7.0_67"


$build
$build$revision
[1] "597b76b"

$build$time
[1] "2014-09-09 20:52:14"

$build$version
[1] "2.43.0"
jdharrison
  • 30,085
  • 4
  • 77
  • 89