Вот такая функция делает клик по ссылке и потом сохраняет скрин страницы
function getInfoUsers(page, peers) {
var element;
page.evaluate(
function() {
function mouseclick(element) {
var event = document.createEvent('MouseEvents');
event.initMouseEvent('click', true, true, window, 1, 0, 0);
element.dispatchEvent(event);
}
element = $("a.md_modal_list_peer_name")[10];
console.log("User: " + element.outerText);
mouseclick(element);
});
window.setTimeout(
function () {
page.render("1111.png");
phantom.exit();
}, 8000
);
}
ссылок на исходной странице 10 штук, при клике на ссылку появляется всплывающее окно, из которого нужно получить инфу и только потом сделать клик по следующей ссылке. Для начала пытаюсь хотя бы получить скрины всех этих окон.
Пробовал делать в цикле, но цикл пробегает быстрее чем успевает загрузить хотя бы одно окно.
Предлагаю следующий алгоритм
// если я правильно понял, есть какая-то входная
// страница, с которой нужно рекурсивно собрать
// все ссылки. Путь это будет она
var enterPage = 'http://somesite.ru';
// Далее предлагаю выбрать все ссылки с этой страницы
var enterPageLinks = [];
// затем нам нужна функция которая будет вызываться
// для обработки каждой ссылки
function openPage(url, callback) {
// открываем полученный url и вызываем callback,
// когда, вероятнее всего, страница уже будет загружена
setTimeout(callback, 8000);
}
// и функция, которая будет делать снимки страниц
function capturePage(callback) {
// делаем снимок страницы и когда закончим, нужно
// будет вызвать callback
callback();
}
// данная функция будет вызывать обработку каждой
// следующей страницы
function nextPage() {
// пока в массиве есть ссылки
if (enterPageLinks.length) {
// вырезаем из массива первую ссылку
var link = enterPageLinks.shift();
// открываем её
openPage(link, function(){
// когда страница будет действительно открыта
// мы делаем снимок
capturePage(function(){
// а когда снимок будет сделан, будет вызвана
// следующая итерация и так до тех пор, пока
// не будут обработаны все ссылки
nextPage();
});
});
} else {
// обработка ссылок закончена
}
}
// здесь окрываем входную страницу и выбираем из неё
// все ссылки, которые подлежат обработке и складываем
// их в массив enterPageLinks
// затем запускаем первый цикл итерации
nextPage();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
На форме есть чекбокс, чек которого снимает disable с кнопкиЕсли форма вызывается по ajax (используется magnific popup), код не работает
Испробовал много разных способов получения стиля, в первую очередь пытался использовать getComputedStyle(), но это не помогает, вот допустим есть...
Есть content_scriptsjs в манифесте к дополнению