CasperJS
http://docs.casperjs.org/
https://github.com/n1k0/casperjs
CasperJS – вспомогательный инструмент написанный на JavaScript как обертка PhantomJS. На официальном сайте перечислены следующие основные возможности:
- определение и порядок итераций браузера
- заполнение и отправка форм
- клик и переход по ссылкам
- создание скриншотов страницы и ее части
- удаленное тестирование DOM
- логирование событий
- загрузка ресурсов и подключение библиотек
- написание функциональных тестов и сохранение в формате JUnit XML
- Допиливание веб контента
Документация
Функции ожидания
- wait() – пауза на заданный промежуток времени, и при необходимости 2 параметр калбек-функция по завершению таймера
- waitfor() – ожидает, пока функция возвратит True, затем выполняет следующий шаг
- waitForAlert() – ожидает, пока вызовется предупреждение JavaScript
- waitForPopup() – ожидает всплытия попуп окна
- waitForResource() – ожидает загрузки ресурса
- waitForUrl() – ожидает загрузки указанной страницы (в качестве параметра regexp)
- waitForSelector() – ожидает пока не загрузится страница содержащая селектор (в качестве параметра CSS3)
- waitWhileSelector() –
- waitForSelectorTextChange() –
- waitForText() – ожидает вывода текста на странице
- waitUntilVisible() –
- waitWhileVisible() –
Библиотеки
PHP Casperjs
Полная эмуляция браузера в PHP