getPageSource 不适用于 RSelenium

问题描述

我的目标是检索有关位于不同页面上的评论的信息。我为每个页面创建了一个带有 URL 的 csv 文件,并将每一行设置为远程驱动程序导航的目的地。我为 Selenium 创建了一个循环,它应该访问所有这些 url 并检索所需的节点。之后 我创建了一个用于检索 html 页面节点并从中制作统一数据框的循环(通过将循环中每次迭代的结果与具有相同列名的 df 相结合 - 之前已创建)。

实际上我两个月前就这样做了,但现在我只能获取第一页的页面源,而不能获取下一页。同时,远程驱动程序正在流畅地导航页面(这意味着 URL 没问题!)

代码示例:

uuu<-read.csv("/Users/uuu.csv")

data<-data.frame(title=character(),date_travel=character(),grades=character())

####starting selenium####
rd<-rsDriver(remoteServerAddr = "localhost",browser = "firefox",port=9353L)
for (i in 1:nrow(uuu)){
tryCatch({
url<-uuu$url[i]
cd<-rd$client
cd$navigate(url)
 Sys.sleep(2)


 reviews2<-read_html(cd$getPageSource()[[1]])

title<-reviews2 %>%
  html_nodes(".ocfR3SKN") %>%
  html_text()


date_travel<-reviews2 %>%
  html_nodes("._34Xs-BQm") %>%
  html_text()
   try(
  {
    record_url<-data.frame(title,date_travel))
 },silent = T
)
 try(
  {
    data <- bind_rows(data,record_url)
  },silent = T
)

Sys.sleep(2)
})
}

解析的结果 - 似乎他只得到了第一个 url 的页面源,而不是其他的。但是 RD 正在导航它们。

The result - only first URLs but nor the others

`

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)