RSelenium с док-контейнером и фантомами, сбойными из-за цикла или лапы - PullRequest
0 голосов
/ 24 июня 2018

Я пытаюсь собрать некоторую информацию с веб-сайта в Rstudio, используя RSelenium для управления док-контейнером, на котором запущены фантомные js.

из панели инструментов Docker, которую я запускаю:

docker run -d -p 4445:4444 wernight/phantomjs phantomjs --webdriver=4444

из студии R, я запускаю:

remDr <- remoteDriver(remoteServerAddr = "192.168.99.100", port = 4445L)

Затем я могу использовать объект remDr как обычно, используя

remDr$open()
remDr$navigate( "website_I_Scrape.com" )
# Etc.

Моя проблема возникает, как только я пытаюсь выполнить вызов Rselenium для всего списка, используя lappy или цикл for, следующим образом:

elem <- remDr$findElements( using = "css", value = ".ClassIwant" )
NAMES <- unlist( lapply( elem, function(x){ x$getElementText() } ) )

или

elem <- remDr$findElements( using = "css", value = ".ClassIwant" )
NAMES<-c()
for(i in 1:length(elem)){
TEMP_TEXT<-Provincias[[i]]$getElementText()
NAMES<-c(NAMES, TEMP_TEXT)
}

Я не получаю сообщение об ошибке, R просто продолжает работать неопределенно долго.

Любые идеи о том, почему это не работает или как я мог обойти это?

...