1) Нам понадобится Selenium, чтобы управлять браузером. Документация по Selenium.
pip install selenium
2) Для примера будем управлять популярным браузером Chrome. Для него отдельно придется скачать ChromeDriver.
Установка на MacOS и Linux происходит через команды в терминале, чтобы исполняемый файл драйвера был доступен в окружении (PATH):
mv chromedriver /usr/local/bin/
chmod +x /usr/local/bin/chromedriver
3) Переходим к коду на Python. Создадим наш веб-драйвер:
from selenium import webdriver
DRIVER = 'chromedriver'
driver = webdriver.Chrome(DRIVER)
Отправляем запрос к интересующей нас веб-странице:
driver.get('https://erugame.ru/')
Делаем скриншот и сохраняем его под нужным именем:
driver.save_screenshot("screenshot.png")
Завершаем работу, закрывая окно браузера:
driver.quit()
Этот способ сохранит скриншот только видимой части страницы (обычно верхней). Если мы хотим сохранить изображение страницы целиком с учетом прокрутки до самого низа, нужно заменить вызов save_screenshot на следующий код:
element = driver.find_element_by_tag_name('body')
element.screenshot("screenshot_full.png")
Как видите, все просто! Полный код примера здесь.
Специально для канала @pyway.