Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting

PhantomJS, как дождаться полной загрузки страницы?

Всем привет!
Выполняю парсинг страницы Avito - все удачно. Выполняю парсинг сайта, в котором все блоки появляются спустя 1-2 сек. после загрузки страницы - выводит лишь задний фон.
Как указать фантому в моем коде, чтобы он подождал пока загрузятся все элементы страницы и уже после спарсил эту страницу?
Аналогично я хочу сделать скрин страницы, но опять-же производиться скрин лишь заднего фона сайта...

page.open(url, function (status) {

    var content = page.content;
    console.log(content);

    phantom.exit();
});


Спасибо!
  • Вопрос задан
  • 1454 просмотра
Решения вопроса 2
@vshvydky
Выкинуть фантом куда подальше и пользоваться nightmare
Ответ написан
Комментировать
@Aklaim
Для page можно добавлять callback, на ряд событий.

page.onLoadFinished = function () {
    ...
    phantom.exit();
};

page.open(url, function (status) {
	...
});


Лучше в самом начале скрипта добавить:

// Ограничиваем время работы скрипта
setTimeout(function () {
    phantom.exit();
}, 30000);


В таком случае даже если в скрипте будет ошибка, он все равно завершится.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@void64rus
Можно использовать мониторинг сетевой активности
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы