3
次はPhantomJSスクリプトのスニペットです。 AJAXdウェブページ上の動的コンテンツを追跡します。トラックは()を1回呼び出されますが、()何らかの理由page.openのコンソールに次の ファンクションは1回だけ呼び出されますが、複数回起動されます
function track(url){
console.log('Tracking',url);
var page = require('webpage').create();
console.log('check2')
if(page){
console.log('check4');
page.open(url, function (status) {
console.log('check3');
if (status !== 'success') {
console.log('Unable to load the address!');
setTimeout(function(){start();},1000);
setTimeout(function(){page.release();},5000);
}
else {
console.log('check');
var i = 0;
var last_winner = false;
var logged_once = false;
var interval = false;
if(!interval){
interval = setInterval(function(){
var scraping = scrape(page);
var date = new Date();
var time = date.getTime();
if(scraping){/*Bunch of console logs*/}
else{
console.log('Bidding ended');
clearInterval(interval);
setTimeout(function(){start();},1000);
setTimeout(function(){page.release();},5000);
}
scraping = false;
},1000);
};
};
});
};
};
がログに記録し3回
と呼ばれる:Tracking http://www.google.com
check2
check4
check3
check
check3
check
check3
check
私が把握することはできませんいくつかの理由、page.open()は3回呼び出されています。
私は、ページオブジェクトが本当に何であるか、把握することを試してみた: 'はconsole.log(ページ);' – Corkscreewe
ははconsole.log( 'check3')を変更してみてください。 console.log(ステータス);あなたが得るものを見てください。私はそれがhttpステータスコードを処理している間にopen()を繰り返していくという感じがしますか? –