скриншот в Python

Как сделать скриншот в Python?

Cкриншот в Python — возможно ли? Спросил я себя после того, как не поверил результатам, полученным в результате сбора данных по количеству проголосовавших в петициях (об этом я писал ранее), после чего понял, что статистика вполне правдивая, но для полноты правдивости не хватает приложенных скриншотов. Давайте исправим эту оплошность, и разберемся, как сделать скриншот в Python.

В этом нам поможет волшебная библиотека PyAutoGUI, которая по заверениям разработчиков поможет в эмуляции нажатия кнопок на клавиатуре, движения мышки и даже горячих клавиш 🙂 Об этом мы поговорим позднее (библиотека и правда хороша, в связи с чем постараюсь в ближайшее время сделать ее небольшой, но более внятный обзор с примерами кода), а пока же — разберемся с созданием скриншотов.

import pyautogui #Подключаем библиотеку
import time  #Подключаем библиотеку для работы со временем
x = 1 #Создали переменную, которая поможет в работе со временем
while x < 5: #Создаем цикл, который будет работать пока значение х не станет равным 5
pyautogui.screenshot('c:\\Users\\oleks\\Desktop\\Git\\Netology\\PrintScr\\image' + str(x) + '.png') #Просим библиотеку делать скриншот, и сохранять в папку по указанному адресу с именем "image.png", причем порядковый номер будет меняться в зависимости от значения х (более правильным, думаю, будет использовать в качестве номера метку времени, но для начала давайте сделаем код в подобном виде)
x = x + 1 #Увеличиваем значение х на единицу
time.sleep(5) #Пауза в 5 секунд

И да, если вам нужно сделать скриншот в Python определенного размера - используйте следующую конструкцию:

pyautogui.screenshot('c:\\Users\\oleks\\Desktop\\Git\\Netology\\PrintScr\\image' + str(x) + '.png', region=(0, 0, 300, 400)) #Где значения в скобках: 0, 0 - начальное значение выделенного куска по вертикали-горизонтали, 300, 400 - конечные значения выделенного куска по вертикали-горизонтали

Короткий видеоурок по данной теме:

Спасибо за внимание 🙂

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut