Очистка l oop по вектору связей с Rselenium дает "Сводка ошибки: NoSuchWindow" - PullRequest
0 голосов
/ 23 февраля 2020

Я чищу газеты и сталкиваюсь с проблемой.

У меня есть этот код, который на самом деле работает, но у rmDR $ navigate есть проблема с циклическим перемещением по различным ссылкам, иногда l oop получает первые две ссылки правильно очищены, иногда четыре, но затем выдает эту ошибку:

Сводка: NoSuchWindow
Подробно: запрос на переключение в другое окно не может быть выполнен, поскольку окно не может быть найден

Я довольно новичок с rselenium, поэтому я не уверен, что я пытаюсь запустить l oop, который я пытаюсь. Я сделал что-то подобное с Rvest и работами, но веб-страница, с которой я сталкиваюсь, требует динамического c просмотра веб-страниц.

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

#newsvector is a vector filled with links to the news I'm scraping

newsvector<-c('https://www.biobiochile.cl/noticias/nacional/region-metropolitana/2019/12/19/incendios-san-jose-de-maipo-balance-cifra-en-mas-de-mil-las-hectareas-consumidas-y-1-casa-quemada.shtml','https://www.biobiochile.cl/noticias/nacional/region-de-magallanes/2019/12/18/hercules-c-130-armada-pronostica-vientos-sobre-100-kmh-y-olas-de-hasta-6-metros-en-','https://www.biobiochile.cl/noticias/nacional/region-de-los-lagos/2019/12/18/incendio-consumio-gran-parte-de-camion-en-puerto-montt.shtml','https://www.biobiochile.cl/noticias/nacional/chile/2019/12/18/los-argumentos-de-las-diputadas-que-votaron-contra-la-paridad-de-genero-para-proceso-','https://www.biobiochile.cl/noticias/nacional/chile/2019/12/18/senadores-aprueban-indicaciones-sobre-paridad-pueblos-originarios-e-independientes-previo-a-')

newsscraped<-data.frame()

#The loop in question:

for(i in newsvector) {
  remDr$navigate(i)
  titulo<-unlist(remDr$findElement(using = "xpath",value="/html/body/div[6]/div[2]/div[3]/div[3]")$getElementText())
  date<-unlist(remDr$findElement(using = "xpath",value="/html/body/div[6]/div[2]/div[3]/div[2]")$getElementText())
  texto<-unlist(remDr$findElement(using = "xpath",value="/html/body/div[6]/div[2]/div[3]/div[5]/div[1]/div[4]/div[2]")$getElementText())
  texto<-as.character(texto)
  titulo<-as.character(titulo)
  date<-as.character(date)
  todo<-data.frame(texto,titulo,date, stringsAsFactors=FALSE)
  newsscraped<-rbind(newsscraped, todo, stringsAsFactors=FALSE)
...