ページングスタイルでアイテムをリストするWebサイトで利用可能なリストアイテムをフェッチする必要があります。各ページの項目の情報を抽出します。を使用してJavascriptコードをsettimeout(function(){...code...}, 5000)
記述し、FirefoxWebコンソールでこのコードを実行しました。スクリプトはページ内のすべてのアイテムをフェッチします。これが完了すると、スクリプトclick()
はハイパーリンク「next」のメソッドを実行してページを送信します。これは、ページに「次へ」ハイパーリンクが含まれるまで続きます(最後のページでは、「戻る」ハイパーリンクが存在する場合のみ)。すべてのページ送信で、5秒にタイムアウトします。
Firefox Webコンソールでこのコードを実行しました。これは正常に実行され、最初のページの結果をフェッチしてから、ページを送信します。次のページも読み込まれます。ただし、問題は、ページが送信されるとスクリプトが停止することです。次のページが読み込まれた後でも、このスクリプトを継続的に実行するにはどうすればよいですか?この機能を実現する他の方法はありますか?
var inc=0;
var ids;
var main=function(){
console.log("attempiting..............."+inc);
var i=0;
{
ids[inc]=b();//function, fetch the items from the page
console.log(ids);
var more=document.getElementById("m_more_item");
if(more){
//next link is there
var cli=more.getElementsByTagName("a");
console.log("navigating to next page "+cli[0]);
inc++;
setTimeout(main,5000); //I tried placing this after click, but didnt work!
cli[0].click(); //submitting...
} else {
//last page reached, exiting...
console.log("exit1-> total items fetched are: "+ids);
return ids;
}
}
};
main();