Ошибка RSelenium: NotConnectedException

Есть несколько вопросов, подобных этому, которые уже заданы в SO (вопрос 1), (Вопрос 2), но ни один из них не получил ответа (последний имеет соответствующий комментарий от @jdharrison, указывающего ОП на регистрацию проблемы). Это моя проблема:

Раньше у меня был очень простой скрипт для получения некоторой информации с веб-сайта в R:

startServer()
rd<-remoteDriver(remoteServerAddr="localhost",port=4444,browserName="firefox")
rd$open()
rd$navigate(url) #with a defined url

Когда я сейчас пытаюсь запустить скрипт, после rd$open() он открывает окно firefox (которое остается пустым около 30 секунд), а затем закрывается и возвращает ошибку:

rd$open()
[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

Читая различные сообщения на SO и некоторых других сайтах, кажется, что проблема вызвана несовместимостью версий Firefox и RSelenium.

На форуме по селену в GitHub есть тред, где говорится, что обновление селена с 2.44 до 2.45 решили проблему. Но я не знаю, как я могу обновить селен, если кажется, что RSelenium обновлен:

sessionInfo()
R version 3.1.2 (2014-10-31)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=Spanish_Colombia.1252 
[2] LC_CTYPE=Spanish_Colombia.1252   
[3] LC_MONETARY=Spanish_Colombia.1252
[4] LC_NUMERIC=C                     
[5] LC_TIME=Spanish_Colombia.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

other attached packages:
[1] RSelenium_1.3.5 XML_3.98-1.1    RJSONIO_1.3-0   RCurl_1.95-4.3 
[5] bitops_1.0-6   

loaded via a namespace (and not attached):
[1] caTools_1.17.1 tools_3.1.2

И моя сборка (вероятно виновник):

rd$getStatus()
$build
$build$version
[1] "2.44.0"

$build$revision
[1] "76d78cf"

$build$time
[1] "2014-10-23 20:02:37"


$os
$os$name
[1] "Windows 8"

$os$arch
[1] "amd64"

$os$version
[1] "6.2"


$java
$java$version
[1] "1.7.0_45"

Как я могу обновить селен из R (если это, конечно, имеет смысл)?,

Еще лучше: как я могу избежать ошибки, которая отображается в моем ранее работающем скрипте?

Спасибо!


person PavoDive    schedule 16.04.2015    source источник
comment
Я думаю, вы пробовали это с разными URL-адресами. Обходной путь может заключаться в использовании PhanomJS   -  person dimitris_ps    schedule 16.04.2015
comment
@dimitiris_ps Спасибо за интерес. Я не пробовал с разными URL. Я даже не могу добраться до части rd$navigate, так как она вылетает сразу после rd$open(). Я попробую PhatomJS и опубликую здесь любой результат.   -  person PavoDive    schedule 16.04.2015
comment
Вернитесь к Firefox 34.0.5, если вы используете более позднюю версию. (У меня тоже была эта ошибка. И переключение назад решило проблему.)   -  person lukeA    schedule 17.04.2015


Ответы (1)


Обновления сервера селена было достаточно, чтобы продолжать работать с моей актуальной версией Firefox (37.0.1). Запуск кода:

unlink(system.file("bin", package = "RSelenium"), recursive = T)
checkForServer()

обновил сборку RSelenium с 2.44 до 2.45. Мгновенно я смог открыть браузер, как это было раньше.

person PavoDive    schedule 17.04.2015
comment
Браузеры перемещаются и часто обновляются. У Firefox есть версия LTS (долгосрочная поддержка) (я думаю, они на самом деле называют ее ESR - выпуск с расширенной поддержкой), которая в настоящее время является firefox 31, а ранее была firefox 24. Текущая обновленная версия Selenium Server должна поддерживать ESR, а также последние версии Firefox. Вы часто можете увидеть, какие версии Firefox поддерживаются, в [CHANGELOG][code.google.com/p/selenium/source/browse/java/CHANGELOG]. startServer(update = TRUE) тоже должно работать, но очистка старых файлов не повредит. - person jdharrison; 17.04.2015
comment
Если firefox обычно обновляется, вам нужен обновленный Selenium Server для его управления. Иногда между обновлением Firefox и Selenium Server возникает небольшая задержка. 2.45.0 — это самый последний Selenium Server, а Firefox — 37.0.1. - person jdharrison; 17.04.2015