我正在尝试使用PhantomJS实验页面/导航自动化。但是,在尝试打开URL并导航到其他页面时,我发现页面加载的次数不止一次。
以下是我尝试搜索术语并使用下一个按钮导航到其他页面的方案。但是,如日志中所示,后续页面不止一次打开,并且它会以指数方式增长,也会有一些空白回调。
不确定我一定做错了什么。指针的任何帮助都会有所帮助。
function pageRequest(url){
function callback(){
console.log("pass ----------------- " );
page.includeJs("//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js", function() {
var x = page.evaluate(function() {
var ret = null;
$("a").each(function(ele, i){
// console.log($(i).attr("href"));
if($(i).text().toLowerCase().indexOf("next") != -1){
// console.log("Hurray !!");
ret = $(i).attr("href");
return $(i).attr("href");
}
});
return ret;
});
console.log(x);
// return;
if(x){
page.open("http://torrentz.in" + x, callback);
}
});
}
var page = require('webpage').create();
page.onConsoleMessage = function(msg) {
console.log('Page title is ' + msg);
};
page.open(url, callback);
}
pageRequest("http://torrentz.in/search?f=test");
//LOGS
$ phantomjs capture.js
pass -----------------
/search?f=test&p=1
pass -----------------
/search?f=test&p=2
/search?f=test&p=2
pass -----------------
/search?f=test&p=2
/search?f=test&p=2
/search?f=test&p=2
pass -----------------
pass -----------------
pass -----------------
pass -----------------
/search?f=test&p=3
/search?f=test&p=3
/search?f=test&p=3
/search?f=test&p=3
/search?f=test&p=3
/search?f=test&p=3
/search?f=test&p=3
pass -----------------
pass -----------------
pass -----------------
pass -----------------
pass -----------------
pass -----------------
pass -----------------
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
/search?f=test&p=4
pass -----------------
pass -----------------
pass -----------------
pass -----------------
pass -----------------
^C
答案 0 :(得分:0)
你可以尝试创建一个这样的新页面:
if(x){
page = require('webpage').create();
page.open("http://torrentz.in" + x, callback);
}