2017-02-26 2 views
2

"alles war damals besser" ...Wie rselenium für R einrichten?

seit firefox 49 (?) Kann man das rselenium-Paket nicht mehr unkompliziert verwenden. Ich habe das ganze Internet durchsucht, um ein SIMPLE How To Manual für die Einrichtung von rselenium zu finden, fand aber nichts relevantes und aktuelles.

Kann mir jemand und alle anderen da draußen, die keine Ahnung haben, eine einfache Anleitung geben? Wie:

  1. herunterladen XY
  2. offen AB

so kann ich Code ausführen wie folgt

require(RSelenium) 

remDr <- remoteDriver(remoteServerAddr = "localhost", port = 4444L, 
browserName = "firefox") 
remDr$open() 
+1

Je nachdem, was Sie versuchen Vielleicht möchten Sie https://github.com/hrbrmstr/splashr versuchen, obwohl Hunderte, wenn nicht Tausende von Leuten in der Lage zu tun, was Sie fragen, ohne Problem. – hrbrmstr

+0

Ich habe splashrr benutzt und kann es auch empfehlen – jdharrison

Antwort

2

Download neueste Version von RSelenium >= 1.7.1. Führen Sie die folgenden Schritte aus:

library(RSelenium) 
rD <- rsDriver() # runs a chrome browser, wait for necessary files to download 
remDr <- rD$client 
# no need for remDr$open() browser should already be open 

Wenn Sie ein Firefox-Browser rsDriver(browser = "firefox") verwenden möchten.

Dies ist detailliert in http://rpubs.com/johndharrison/RSelenium-Basics Anhang. Die empfohlene Methode zum Ausführen von RSelenium ist jedoch über Docker-Container. Anweisungen zur Verwendung von Docker mit RSelenium kann bei http://rpubs.com/johndharrison/RSelenium-Docker

THEMEN finden:

Wenn Sie Fragen haben, die wegen Admin-Rechte oder andere Variablen wie Anti-Viren-Software auftreten, können Sie einen Selenium-Server manuell ausführen können. Der einfachste Weg, dies zu tun ist über das wdman Paket:

selCommand<- 
    wdman::selenium(jvmargs = c("-Dwebdriver.chrome.verboseLogging=true"), 
        retcommand = TRUE) 
> cat(selCommand) 
C:\PROGRA~3\Oracle\Java\javapath\java.exe -Dwebdriver.chrome.verboseLogging=true -Dwebdriver.chrome.driver="C:\Users\john\AppData\Local\binman\binman_chromedriver\win32\2.27/chromedriver.exe" -Dwebdriver.gecko.driver="C:\Users\john\AppData\Local\binman\binman_geckodriver\win64\0.14.0/geckodriver.exe" -Dphantomjs.binary.path="C:\Users\john\AppData\Local\binman\binman_phantomjs\windows\2.1.1/phantomjs-2.1.1-windows/bin/phantomjs.exe" -jar "C:\Users\john\AppData\Local\binman\binman_seleniumserver\generic\3.0.1/selenium-server-standalone-3.0.1.jar" -port 4567 

Mit einem der wdman Funktionen mit der retcommand Option kehrt den Kommandozeilenaufruf aktiviert, das läuft worden wäre.

Jetzt können Sie die Ausgabe von cat (selCommand) in einem Terminal laufen

C:\Users\john>C:\PROGRA~3\Oracle\Java\javapath\java.exe -Dwebdriver.chrome.verboseLogging=true -Dwebdriver.chrome.driver="C:\Users\john\AppData\Local\binman\binman_chromedriver\win32\2.27/chromedriver.exe" -Dwebdriver.gecko.driver="C:\Users\john\AppData\Local\binman\binman_geckodriver\win64\0.14.0/geckodriver.exe" -Dphantomjs.binary.path="C:\Users\john\AppData\Local\binman\binman_phantomjs\windows\2.1.1/phantomjs-2.1.1-windows/bin/phantomjs.exe" -jar "C:\Users\john\AppData\Local\binman\binman_seleniumserver\generic\3.0.1/selenium-server-standalone-3.0.1.jar" -port 4567 
12:15:29.206 INFO - Selenium build info: version: '3.0.1', revision: '1969d75' 
12:15:29.206 INFO - Launching a standalone Selenium Server 
2017-02-08 12:15:29.223:INFO::main: Logging initialized @146ms 
12:15:29.265 INFO - Driver class not found: com.opera.core.systems.OperaDriver 
12:15:29.265 INFO - Driver provider com.opera.core.systems.OperaDriver registration is skipped: 
Unable to create new instances on this machine. 
12:15:29.265 INFO - Driver class not found: com.opera.core.systems.OperaDriver 
12:15:29.266 INFO - Driver provider com.opera.core.systems.OperaDriver is not registered 
12:15:29.271 INFO - Driver provider org.openqa.selenium.safari.SafariDriver registration is skipped: 
registration capabilities Capabilities [{browserName=safari, version=, platform=MAC}] does not match the current platform WIN10 
2017-02-08 12:15:29.302:INFO:osjs.Server:main: jetty-9.2.15.v20160210 
2017-02-08 12:15:29.317:INFO:osjsh.ContextHandler:main: Started [email protected]{/,null,AVAILABLE} 
2017-02-08 12:15:29.332:INFO:osjs.ServerConnector:main: Started [email protected]{HTTP/1.1}{0.0.0.0:4567} 
2017-02-08 12:15:29.333:INFO:osjs.Server:main: Started @257ms 
12:15:29.334 INFO - Selenium Server is up and running 

Jetzt versuchen und einen Browser

remDr <- remoteDriver(port = 4567L, browserName = "chrome") 
remDr$open() 

laufen Wenn Sie nicht in der Lage sind, ein Selenium Server manuell ausführen Sie dann müssen Ihre Probleme (einschließlich relevanter Protokolldateien) mit dem Selenium-Projekt oder dem entsprechenden Treiberprojekt (z. B. chromedriver/geckodriver/ghostdirver usw.) beheben.

+0

Wenn ich 'rD <- rsDriver()' cmd starte, stürzt RSstudio bei 'BEGIN: POSTDOWNLOAD' ab. Die letzte Nachricht, die ich bekomme, lautet: "BEGIN: POSTDOWNLOAD Diese Anwendung hat die Runtime aufgefordert, sie auf ungewöhnliche Weise zu beenden." – urwaCFC