Скриншоты локальной страницы HTML5 / DIV - PullRequest
2 голосов
/ 01 февраля 2012

У меня есть html-страница с анимацией, которая будет воспроизводиться с течением времени, мне нужно делать скриншоты веб-страницы через определенные промежутки времени (скажем, каждую секунду) и сохранять изображения на диск, чтобы я мог использовать их для дальнейшей обработки,

Ничего страшного, если он делает снимок элемента DIV, так как есть родительский элемент div, который охватывает все элементы, которые я хочу сделать снимок ..

Пожалуйста, подскажите, как можноя делаю это, я могу использовать flash / javascript / php или любую другую технологию, которая не является ограничением,

ОС: Windows или MAC

PS: я прочитал много страниц о том, как сделать снимок экранавеб-страницы, но в большинстве из них ответ таков: поскольку он нарушает безопасность, он не разрешен, но в моем случае такой безопасности не требуется, это локальная страница

1 Ответ

2 голосов
/ 01 февраля 2012

Вы можете написать скрипт, используя Selenium browse Automation

  • https://code.google.com/p/selenium/

  • Выберите ваш любимый язык (Python, Java, Ruby и т. Д.) И библиотеку Selenium для него

  • Напишите сценарий Selenium, который открывает страницу и ожидает нужное вам время

  • Используйте API-интерфейс для скриншотов Selenium https://code.google.com/p/selenium/source/browse/trunk/py/selenium/webdriver/firefox/webdriver.py#70, чтобы сделать снимок экрана и сохранить его на локальном диске

  • Selenium API может использоваться для запроса размеров элемента - там, где он появляется, поэтому вы можете опубликовать скриншот и обрезать его только до соответствующей области.

Существуют решения Javascript на стороне клиента для преобразования произвольного HTML DOM в <canvas>, но вывод не является точным на 100% и работает только для простых элементов HTML.

...