RSelenium 网络抓取总是 returns Null

RSelenium web scraping always returns Null

我是网络抓取的新手,我正在尝试从 IMDb 抓取电影预算数据。这是我的代码:

budget=vector()
for(i in 1:50){
remDr$navigate('http://www.imdb.com/search/title?sort=moviemeter,asc&start=1&title_type=feature&year=2011,2011')
webElems=remDr$findElements('css selector','.wlb_lite+ a')
webElems[[i]]$clickElement()
b=remDr$findElements('css selector','.txt-block:nth-child(11)')
b_text=unlist(lapply(b, function(x){x$getElementText()}))
if(is.null(b_text)==T){
  budget=c(budget,'NULL')
  }

if(is.null(b_text)==F){budget=c(budget,'NULL')}
print(b_text)
}

每页有 50 部电影。我想把每一个link都一个一个点进去,收集相应的预算数据。如果我不 运行 循环中的代码,代码运行良好。但是代码总是 returns 'Null' 当我 运行 循环时。恐怕那是因为页面没有在循环中完全加载。我尝试使用 'setTimeout' 和 'setImplicitWaitTimeout' 命令,但效果不佳。有人可以帮帮我吗?

尝试

Sys.sleep(time in seconds)

每个循环而不是 setTimeout。

这已经解决了像你这样的问题。