2016-10-27 4 views
0

Ich habe den Code:RSelenium Skript unglücklich Chrome Gesicht bekommt

startServer(args = c("-port 4456"), log = FALSE, invisible = FALSE) 
    selServ <- startServer(args = c("-port 4456", "-Dwebdriver.chrome.driver=C:/Drivers/chromedriver"), log = TRUE) 
    remDr <- remoteDriver(browserName="chrome", port=4456) 
    remDr$open() 

Ich habe die neuesten Chrome-Treiber in C: \ Drivers \ chromedriver.exe. Wenn ich den Code ausführen, startet der Server, aber ich bekomme die unglückliche Chrome Gesicht und Fehler MY exact issue Der gleiche Treiber funktioniert mit meinem Python und C# Skripten, aber sie verwenden WebDriver. Weiß jemand, was könnte diesen Fehler verursachen oder WebDriver mit R verwenden?

+0

In Ihrem Code haben Sie zwei Selenium Server gestartet. Ihre erste Codezeile startet einen Selenium Server ohne Verweis auf den Speicherort des Chrome-Treibers. – jdharrison

Antwort

0

Sie starten zwei Selenium Server mit Ihrem Code. Der Aufruf von chrome driver ist ein Argument für die JVM und sollte als Argument in javaargs übergeben werden. Die chromedriver ist auch chromedriver.exe in den Fenstern so diese

library(RSelenium) 
selServ <- startServer(args = c("-port 4456"), javaargs = c("-Dwebdriver.chrome.driver=C:/Users/john/Documents/chromedriver.exe"), 
         invisible = FALSE) 
remDr <- remoteDriver(browserName="chrome", port=4456) 
remDr$open() 

Die Funktionen ein Problem verursachen kann startServer und checkForServer sind veraltet. Ich würde empfehlen, einen Docker-Container zu verwenden, um einen SeleniumServer/Chrom-Treiber zu betreiben.

docker run -d -p 5901:5900 -p 127.0.0.1:4456:4444 selenium/standalone-chrome-debug:2.53.1 

dann können Sie als laufen, bevor

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

http://rpubs.com/johndharrison/RSelenium-Docker Siehe für weitere Details.