Найти в Дзене
SoftSAR

Скриншот веб страницы

В данной статье мы изучим как сделать скриншот веб страницы с помощью Python и Selenium. Автоматическое создание скриншотов способствует легкому и быстрому выявлению ошибок в отображении веб страниц, нежели ручная проверка, а также не требует дополнительных ресурсов. Автоматические скриншоты позволяют увидеть отображение веб страницы в разных браузерах.
Скрипт Python + Selenium для скриншота веб страниц это лучшая альтернатива ручному созданию скриншотов, а также многим сторонним сервисам, так как позволяет более детально настроить решение задачи под себя. Используемые инструменты: Python, Selenium. 1) Устанавливаем необходимые библиотеки через командную строку: pip install selenium 2) Selenium требует наличия драйвера для взаимодействия с выбранным браузером. Для автоматизации браузера Firefox, потребуется скачать geckodriver, который необходимо установить прежде чем запустить приведенный ниже код. Рядом с проектом создайте папку src и разместите там драйвер. Драйверы можн

В данной статье мы изучим как сделать скриншот веб страницы с помощью Python и Selenium.

Автоматическое создание скриншотов способствует легкому и быстрому выявлению ошибок в отображении веб страниц, нежели ручная проверка, а также не требует дополнительных ресурсов. Автоматические скриншоты позволяют увидеть отображение веб страницы в разных браузерах.
Скрипт Python + Selenium для скриншота веб страниц это лучшая альтернатива ручному созданию скриншотов, а также многим сторонним сервисам, так как позволяет более детально настроить решение задачи под себя.

Используемые инструменты: Python, Selenium.

1) Устанавливаем необходимые библиотеки через командную строку:

pip install selenium

2) Selenium требует наличия драйвера для взаимодействия с выбранным браузером. Для автоматизации браузера Firefox, потребуется скачать geckodriver, который необходимо установить прежде чем запустить приведенный ниже код. Рядом с проектом создайте папку src и разместите там драйвер.

Драйверы можно скачать по ссылке:
Chrome: https://sites.google.com/chromium.org/driver/
Edge: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
Firefox: https://github.com/mozilla/geckodriver/releases
Safari: https://webkit.org/blog/6900/webdriver-support-in-safari-10/

3) Убедитесь, что скачиваемая версия драйвера, соответствует версии установленного браузера. Версию браузера можно узнать в разделе для Firefox Справка>о Firefox, Chrome Справка о браузере Google Chrome. В случае, если версии не совпадают, то мы получим ошибку.

4) Отлично, теперь мы готовы начать работать с Selenium. Попробуем запустить браузер и перейти по URL введенному пользователем.

5) Используем метод get_screenshot_as_file для получения скриншота веб страницы.

6) Структурируем код в виде функции принимающей URL, и делающей скриншот веб страницы

7) Добавляем возможность работы со списком url адресов.

8) Добавляем возможность запуска одновременно нескольких браузеров. Импортируем модуль Pool из библиотеки multiprocessing.

9) Оптимизируем процесс создания скриншотов, сделаем его визуально более привлекательным и уменьшим нагрузку на наш процессор, запустив браузер в фоновом режиме.

10) Итоговый продукт выглядит следующим образом. Запустим скрипт и передадим следующие ссылки https://vk.com, https://www.facebook.com, https://twitter.com, https://www.instagram.com

C уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am