我写了一个循环来检查一堆链接并截取屏幕截图。我经常需要成千上万。我创建的循环适用于大约500个链接,然后我的浏览器关闭,我收到以下错误:
Error: Summary: UnknownError
Detail: An unknown server-side error occurred while processing the command.
class: org.openqa.selenium.remote.UnreachableBrowserException
有没有办法防止这种情况发生?
如果没有,如果发生这种情况,如何让R运行源代码OpenBrowser.R?
这是脚本:
for(i in 1:nrow(URL)){
remDr1$navigate(URL$Link[i])
remDr1$setTimeout(type = "page load", milliseconds = 30000)
remDr1$screenshot(file = URL$file[i])
}
答案 0 :(得分:4)
很少有事情可以尝试: -
尝试此功能: - (它会等到整页加载。如果需要,你可以删除page_load_time_out或在Inf中制作)
wait_till_page_load<-function(page_load_time_out=60){
t0<-Sys.time()
while(remDr$executeScript("return document.readyState;")[[1]]!="complete" & (Sys.time()-t0)<=page_load_time_out){
Sys.sleep(0.5)
}
invisible(0)
}
使用它像: -
for(i in 1:nrow(URL)){
remDr1$navigate(URL$Link[i])
#remDr1$setTimeout(type = "page load", milliseconds = 30000)
wait_till_page_load(500000000) # use suitable number
try(remDr1$screenshot(file = URL$file[i]))
}
尝试将防止破坏循环。