Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2013, 18:40   #1
veter48
Форумчанин
 
Регистрация: 26.07.2010
Сообщений: 150
По умолчанию Закрытие 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(); то закрывается до выполнения всех действий (из за асинхронности).

Спасибо.
veter48 вне форума Ответить с цитированием
Старый 07.12.2013, 04:28   #2
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Поставить выход не в конце всего скрипта, а в конце соответствующей колбек-функции. В каком из колбеков именно - понять невозможно по данному коду и объяснению.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PhantomJS JavaScript для HTML и cookies D_E_N JavaScript, Ajax 9 11.10.2013 17:15
Закрытие приложения Михаил Юрьевич Общие вопросы Delphi 0 22.09.2013 11:33
Закрытие броузера Genie Общие вопросы C/C++ 4 13.11.2009 17:58
Закрытие формы annaangel Общие вопросы Delphi 2 09.10.2009 13:26
Закрытие вкладки beemoto Общие вопросы Delphi 36 23.07.2009 23:19