Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Закрытие phantomjs (https://javascript.ru/forum/misc/43471-zakrytie-phantomjs.html)

andrissig 06.12.2013 18:41

Закрытие phantomjs
 
Здравствуйте.

Сделал скрипт для 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(); то закрывается до выполнения всех действий (из за асинхронности).

Спасибо.


Часовой пояс GMT +3, время: 03:59.