r - 使用 Rselenium 对链接向量进行抓取循环会给出“错误摘要:NoSuchWindow”
问题描述
我正在刮报纸,我遇到了一个问题。
我有这段代码实际上可以工作,但是 rmDR$navigate 在循环各种链接时存在问题,有时循环会正确刮掉前两个链接,有时是四次,但随后会引发此错误:
摘要:NoSuchWindow
详情:无法满足切换到不同窗口的请求,因为找不到该窗口
我对 rselenium 很陌生,所以我不确定我正在尝试的循环是否可以设置为工作。我已经用 Rvest 做了类似的事情,但我在这里面对的网页需要动态网页抓取。
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)
解决方案
推荐阅读
- c++ - 是否可以通过方法链接创建在编译时构建的 constexpr 字节字符串?
- mysql - 如何仅在时间戳不为空的情况下将时间戳转换为日期
- php - SQL长查询优化
- javascript - 仅当用户单击返回时,如何将滚动设置为顶部 false?
- sql-server - 如何为具有相同值的结果添加自定义递增计数器?
- php - Apache 和 TYPO3 不加载主页和后端以外的页面
- arrays - React Native FlatList 仅渲染 1 个对象
- c++ - 什么模板
模板 做? - servicestack - ServiceStack 和 .NET Core AppSettings 复杂对象
- spring-cloud-dataflow - 如何在 Spring Cloud 数据流中运行多个作业