2016-08-29 3 views
1

Wenn ich den Code unten ausführen, erscheint die Fehlermeldung msg und es wird die Sitzung nicht gestartet. Ich habe die Versionsinformationen auch unten eingefügt. Vielen Dank im Voraus.R: RSelenium startet nicht

enter image description here

rm(list=ls(all=TRUE)) 
cat("\014") 
library(RSelenium) 
startServer() 
remDr <- remoteDriver(port = 4444, 
         browserName = "firefox") 
remDr$open()[![enter image description here][1]][1] 



[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 


> remDr$getStatus()$build 
$version 
[1] "2.53.0" 

$revision 
[1] "35ae25b" 

$time 
[1] "2016-03-15 17:00:58" 

[UPDATE]: neu installierte ich meine firefox (48.0.2), jetzt, wenn ich den gleichen Code ausführen, die "Firefox gestoppt hat funktioniert" msg gegangen ist, sondern es ein leeres öffnet Seite, aber ich sehe immer noch die gleiche Fehlermeldung in R. Bitte helfen, danke!

+1

Ich hatte einmal ein ähnliches Problem. Gelöst mit 'unlink (system.file (" bin ", Paket =" RSelenium "), rekursiv = T); checkForServer() '. Werfen Sie einen Blick auf http://stackoverflow.com/questions/29684015/rselenium-error-notconnectedexception Es wird wahrscheinlich von Firefox Update in einem höheren Tempo als RSelenium verursacht. – PavoDive

+0

Danke, aber es hat nicht funktioniert. Ich habe Firefox neu installiert und konnte eine Sitzung öffnen, aber dann gibt es mir die gleiche Fehlermeldung in R. Und ich habe Ihre Vorschläge ausprobiert. –

+0

Verwenden Sie Andockbehälter. Ihr Browser wird mit Ihrer Version von Selenium Server kompatibel sein, siehe http://rpubs.com/johnharrison/RSelenium-Docker. Firefox 48+ benötigt den Gecko-Treiber, um Selenium 3.0 auszuführen, siehe https://github.com/opensci/RSelenium/issues/81. – jdharrison

Antwort

1

Wenn Sie Probleme mit einer Broser/Selenium Server-Kombination haben, die nicht funktioniert, sollten Sie Selenium mit Docker verwenden. Das Selenium-Projekt hat eine Reihe von Docker-Bildern verfügbar unter https://hub.docker.com/r/selenium/.

In Ihrem Fall könnten Sie einen Chrome-Debug-Container ausführen (debuggen, wenn Sie in der Lage sein möchten, VNC und den laufenden Browser anzuzeigen). die folgende Kommandozeile

Installieren Docker auf Ihrem System und Ausgabe:

$ docker run -d -p 4445:4444 -p 5901:5900 selenium/standalone-chrome-debug:2.53.0

Dadurch wird das Bild bezieht bei Bedarf dann das Bild in einem Behälter laufen. Der Selenium-Server wird auf Port 4445 auf dem Host verfügbar gemacht. Vnc wird auf Port 5901 auf dem Host verfügbar gemacht.

Unter Windows müssen Sie möglicherweise die IP-Adresse des aktiven Containers finden. In einem solchen Fall können Sie:

$ docker-machine ip 192.168.99.100

auf der entsprechenden IP-Adresse linux würde localhost.

Sie können Ihre Laufbehälter mit RSelenium verbinden:

# windows with the container ip 
remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", 
         port = 4445L, browserName = "chrome") 
# linux 
remDr <- remoteDriver(port = 4445L, browserName = "chrome") 
remDr$open() 

den Browser in dem Behälter sehen Sie einen VNC-Viewer benötigen. Weitere Details finden Sie in der RSelenium Dockervignette http://rpubs.com/johndharrison/RSelenium-Docker.

+0

Nochmals vielen Dank für Ihre ausführliche Erklärung! –