Здравствуйте.
Сделал скрипт для phantomjs.
var page = require('webpage').create();
var pagec = require('webpage').create();
var fs = require('fs');
page.open('https://www.test.com/', function (status) {
if (status !== 'success') {
console.log('Unable to access network');
} else {
var p = page.evaluate(function () {
return Array.prototype.slice.call(document.getElementsByClassName('test')[0].getElementsByTagName('a'));
});
for (var i in p) {
(function(i) {
var pagec = require('webpage').create();
pagec.open(p[i].href, function (status) {
//console.log(p[i].href);
if (status !== 'success') {
console.log('Unable to access network');
} else {
console.log(p[i].href);
var p2 = pagec.evaluate(function () {
return document.getElementsByTagName('html')[0].innerHTML;
});
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} today = mm+'.'+dd+'.'+yyyy;
fs.write("C:/phantomjs-1.9.2-windows/savedpages/"+today+"/"+"page_"+Number(Number(i) + Number(1))+".html", p2, 'w');
}
});
})(i);
}
}
});
Вопрос как сделать так чтоб phantomjs закрылся после выполнения? Если в конце добавить phantom.exit(); то закрывается до выполнения всех действий (из за асинхронности).
Спасибо.