2017-02-18 3 views
1

Я пытаюсь запустить RSelenium с помощью пакета WDMAN.работает Rselenium с rsDriver

library(RSelenium) 
library(wdman) 
rd <-rsDriver(verbose =TRUE, browser = 'phantomjs') 

Это дает мне ошибку:

[1] "Connecting to remote server" 

Selenium message:org.openqa.selenium.os.CommandLine.find(Ljava/lang/String;)Ljava/lang/String; 

Error: Summary: UnknownError 
    Detail: An unknown server-side error occurred while processing the command. 
    class: java.lang.NoSuchMethodError 
    Further Details: run errorDetails method 

Я бегу LinuxMint 18,1.

Если я запускаю сервер со следующим он работает:

library(RSelenium) 
library(wdman) 
selServ <- wdman::selenium(verbose = FALSE) 

eCap <- list(phantomjs.page.settings.userAgent 
      = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0") 

remDr <- remoteDriver(remoteServerAddr = "localhost" 
         , port = 4444L 
         , browserName = "phantomjs" 
         , extraCapabilities = eCap 
) 

remDr$open() 

Я предпочел бы использовать rsDriver, как он проверяет наличие обновлений. Почему это не удается?

+1

Файл вопрос на https: // GitHub .com/ropensci/RSelenium. Также wdman использует порт 4567L по умолчанию, поэтому вы не используете сервер, который вы создали в своем втором примере. – jdharrison

ответ

1

Это, похоже, проблема с последней версией сервера selenium (3.1.0). Если вы попытаетесь предыдущей версии ошибка не появляется:

rd <-rsDriver(verbose =TRUE, browser = 'phantomjs', version = "3.0.1") 

> rd 
$client 
    browserName         id 
1 phantomjs 7775b5b8-25de-4699-a171-7fd58c5c5a2a 

$server 
Process Handle 
command : /tmp/RtmptPZSvk/file2e132997bdf7.sh 
system id : 12240 
state  : running 

UPDATE:

Это теперь исправлено в Selenium версии сервера 3.2.0

+0

Это проблема с устаревшим методом. Его следует рассматривать в будущих версиях селена, см. Https://github.com/SeleniumHQ/selenium/issues/3534 – jdharrison