Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Закрытие phantomjs (http://forum.oszone.net/showthread.php?t=273539)

veter48 06-12-2013 18:40 2268194

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

Спасибо.


Время: 08:06.

Время: 08:06.
© OSzone.net 2001-