Web scraping RSelenium web抓取始终返回Null

Web scraping RSelenium web抓取始终返回Null,web-scraping,imdb,rselenium,Web Scraping,Imdb,Rselenium,我是一个新的网页抓取,我试图垃圾的电影预算数据从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

我是一个新的网页抓取,我试图垃圾的电影预算数据从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部电影。我想逐个点击每个链接,收集相应的预算数据。如果我不在循环中运行代码,代码就会运行良好。但是当我在循环中运行代码时,它总是返回“Null”。恐怕这是因为循环中没有完全加载页面。我尝试使用“setTimeout”和“setImplicitWaitTimeout”命令,但它们不能正常工作。有人能帮我吗

试试看

Sys.sleep(时间以秒为单位)

对于每个循环,而不是setTimeout


这就解决了像你这样的问题。

谢谢!我试过Sys.sleep,它确实有效!问题是R是否有办法检测网页是否被加载?我想这在R语言中是很直观的。一旦您导航到一个页面,下一个代码行仅在加载网页后执行。但是睡眠会给你额外的时间。我猜!!我不确定