我有這樣漂亮的代碼多個URL,所有我想要做訪問之間有些停頓,所以我添加了一個「的setInterval」,但這不工作:訪問使用PhantomJS評估錯誤
var page = require('webpage').create();
// the urls to navigate to
var urls = [
'http://blogger.com/',
'https://github.com/',
'http://reddit.com/'
];
var i = 0;
// the recursion function
var genericCallback = setInterval(function() {
return function (status) {
console.log("URL: " + urls[i]);
console.log("Status: " + status);
// exit if there was a problem with the navigation
if (!status || status === 'fail') phantom.exit();
i++;
if (status === "success") {
//-- YOUR STUFF HERE ----------------------
// do your stuff here... I'm taking a picture of the page
page.render('example' + i + '.png');
//-----------------------------------------
if (i < urls.length) {
// navigate to the next url and the callback is this function (recursion)
page.open(urls[i], genericCallback());
} else {
// try navigate to the next url (it is undefined because it is the last element) so the callback is exit
page.open(urls[i], function() {
phantom.exit();
});
}
}
};
},2000);
// start from the first url
page.open(urls[i], genericCallback());
與截圖錯誤我得到: 也許有人可以幫助我,並醫治此代碼?因爲我對JS和PhantomJS都很陌生,所以任何幫助都會令人滿意。 我從另一個計算器的答案在這裏的代碼 - Using Multiple page.open in Single Script 但
'狀態'沒有被定義....'page.open(url,callback(status));'...該作者給出的腳本通常是不正確的。 –
仍然是相同的錯誤=(它可能是別的嗎? –
但我使用他的代碼之前,它的工作現在我編輯setinterval - 它不工作,然後我做你說的所有,並得到相同的錯誤 –