Я хочу собрать всю информацию из определённой категории при одном обращении к Phantomjs (пройтись по постраничной навигации, переключаясь по страницам). Дело в том, что сайт при нажатии на номер страницы/стрелочку изменяет целевой блок с информацией и URL страницы через ajax, т.е. перегрузки страницы не происходит. Phantomjs это не понимает и продолжает брать информацию с изначально загруженной страницы.
Вариант прогонять несколько раз
page.open с изменением URL - не очень хороший, слишком долго будет загружать и нагрузка слишком большая выйдет.
Примерный код:
page.open(url, function (status) {
var data = page.evaluate(function() {
//Пока стрелка вправо активна, нажимаем на неё
while ($('.arrow_right').hasClass('disabled') === false) {
//Логика сбора данных
//Нажимаем на стрелку
var ev = document.createEvent("MouseEvents");
ev.initEvent("click", true, true);
document.querySelector('.arrow_right').dispatchEvent(ev);
//Так подозреваю, что здесь что-то надо сделать
}
return dataOnPage;
});
console.log(data);
phantom.exit();
});
Ссылка вида
site.ru/category/page/1/
Подскажите, есть ли вообще такая возможность или нет?