1

一連のリンクをチェックしてスクリーンショットを撮るループを作成しました。多くの場合、これらを数千単位で行う必要があります。私が作成したループは、約 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])
         }
4

1 に答える 1

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]))
}

Try はループを壊さないようにします。

于 2016-01-19T15:27:31.103 に答える