Я столкнулся с некоторыми проблемами при использовании PhantomJS. Я ссылаюсь на this article. Я попытался вложить open()
функции, но я не получил результаты, которые я хочу, а именно, открытие всех 4-х URL-адресов и печать всех 4 console.log
.Когда выходить при использовании вложенных функций open()?
код:
var page = require('webpage').create(); //新建一个页面
url1 = "-----";
url2 = "-----";
url3 = "-----";
url4 = "http://-----/";
page.open(url1, function(status) { //导航到第一个URL
console.log('111111111111');
if (status == "fail") phantom.exit(); //如果发生错误,退出程序
page.open(url2, function(status) { //否则在页面加载完成的回调函数中继续导航到第二个URL,依次类推
console.log('22222222222222');
if (status == "fail") phantom.exit();
page.open(url3, function(status) {
console.log('3333333333333333');
if (status == "fail") phantom.exit();
page.open(url4, function(status) {
console.log('444444444444444');
if (status == "fail") phantom.exit();
});
});
});
console.log('close');
phantom.exit();
});
результат:
$ phantomjs test.js
111111111111
close
Мне нравится, как в коде есть диагональная символьная строка. –
@sanki Я думаю, что это должно было бы выполнить каждый выход – mugbya