2014-11-30 7 views
5

Unter Linux verhält sich die RSelenium/Selenium erratisch. Ich starte den Server manuell und es scheint gut zu starten. Manchmal kann ich mich von meiner R-Sitzung aus damit verbinden, und manchmal bekomme ich einen Fehler. Ich kann die Ursache noch nicht genau bestimmen: Das gleiche Skript scheint manchmal zu funktionieren und nicht zu anderen Zeiten. Irgendwelche Ideen? Hierinkonsistentes Verhalten in RSelenium

ist die Ausgabe von dem Starten des Servers:

12:41:25.811 INFO - Launching a standalone server 
12:41:26.102 INFO - Java: Sun Microsystems Inc. 11.0-b16 
12:41:26.102 INFO - OS: Linux 2.6.32-431.17.1.el6.x86_64 amd64 
12:41:26.157 INFO - v2.44.0, with Core v2.44.0. Built from revision 76d78cf 
12:41:26.492 INFO - Default driver org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: registration capabilities Capabilities [{platform=WINDOWS, ensureCleanSession=true, browserName=internet explorer, version=}] does not match with current platform: LINUX 
12:41:26.589 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub 
12:41:26.589 INFO - Version Jetty/5.1.x 
12:41:26.590 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver] 
12:41:26.590 INFO - Started HttpContext[/selenium-server,/selenium-server] 
12:41:26.590 INFO - Started HttpContext[/,/] 
12:41:36.597 INFO - Started [email protected] 
12:41:36.598 INFO - Started HttpContext[/wd,/wd] 
12:41:36.601 INFO - Started SocketListener on 0.0.0.0:4444 
12:41:36.601 INFO - Started [email protected] 

Der Fehler, den ich in meiner R Sitzung erhalten:

Couldnt connect to host on http://localhost:4444/wd/hub. 
Please ensure a Selenium server is running.Error in queryRD(paste0(serverURL, "/session"), "POST", qdata = toJSON(serverOpts)) 

Andere Zeiten, die genau die gleiche Skript alles läuft verläuft erfolgreich. Es könnte ein Unterschied sein, welcher Computerknoten das Skript tatsächlich ausführt, aber ich kann nicht sagen, was das Problem ist, wenn es keine Verbindung herstellt.

+4

Versuchen Sie, ein 'Sys.sleep (10)' zu platzieren, bevor Sie 'remDr $ open()' aufrufen, da der Server möglicherweise zum Starten benötigt wird. – jdharrison

+0

Ich erlebe das genaue Sam-Problem. Es funktionierte nur gestern (ich habe sogar einen Stack über Flow-Antwort darüber geschrieben) und jetzt auf der gleichen Maschine einen Tag später funktioniert es nicht mehr, wenn ich '' Sys.sleep (10) '' Ich bekomme Folgendes: "Fehler: \t Zusammenfassung: UnknownError \t Detail: ein unbekannter serverseitigen Fehler trat bei dem Verarbeiten des Befehls auf. \t Klasse: java.lang.IllegalStateException \t Weitere Details: run errorDetails method'' –

Antwort

2
library(RCurl) 
library(RJSONIO) 
library(XML) 

# running selenium 
system("java -jar selenium-server-standalone-2.44.0.jar") 

Ich konfrontiert dasselbe Problem und versuchen, über Code laufen. Schließlich wissen, dass es nur Unterstützung 1.7 aber nicht 1.8 als Zeit ist. Sie könnten versuchen, jre7 und jdk7 herunterzuladen.

2

Ich sah den gleichen Fehler in Mac, aber ich habe festgestellt, dass aufgrund von Sicherheitseinstellungen das System nicht zulassen, dass ich die Datei mit diesem Stück Code ausführen. Ich habe die Selenal-Standalone-Datei heruntergeladen und mit dem Control-Key habe ich einfach auf die Datei geklickt und dann aus dem Menü die Open ausgewählt. Dann wird das Problem gelöst.

Verwandte Themen