Tirar screenshot do programa Notepad aberto e salvar como arquivo .jpg
.
# 202401 - Python 3.12.0
# 4.12 - Tirando prints da tela
import pyautogui
import time
import logging
import logging.config
import keyboard
# configurando logging:
logging.config.fileConfig(fname='config.ini', disable_existing_loggers=False)
logger = logging.getLogger(__name__)
def screenshot_notepad():
logging.info('INICIO: screenshot notepad.')
try:
def abrindo_notepad(frase):
pyautogui.hotkey('win')
pyautogui.click(955, 159, duration=.5)
pyautogui.typewrite('notepad')
time.sleep(1)
pyautogui.hotkey('enter')
time.sleep(2)
pyautogui.hotkey('ctrl', 'n')
time.sleep(1)
keyboard.write(frase, delay=.1)
logging.info('Notepad aberto.')
abrindo_notepad('42')
def salvando_screenshot():
# obtendo janela ativa
janela_ativa = pyautogui.getActiveWindow()
# screenshot janela ativa
screenshot = pyautogui.screenshot(region=(janela_ativa.left,
janela_ativa.top, janela_ativa.width, janela_ativa.height))
# salvando screenshot
screenshot.save(r'assets/screenshot2.jpg')
logging.info('Screenshot salvo.')
salvando_screenshot()
except Exception as e:
logging.error(f"Erro ao tirar screenshot do notepad: {e}")
screenshot_notepad()
A função screenshot_notepad()
abre e salva o screenshot com as funções:
-
abrindo_notepad(): usando os métodos
hotkey()
,click()
etypewrite()
, do módulopyautogui
, além do módulokeyboard
com o métodowrite()
e, por último, o módulotime
com o métodosleep()
.- abre notepad;
- abre nova aba;
- escreve a frase.
-
salvando_screeshot(): seleciona a janela ativa com
getActiveWindow()
, tira o screenshot com o métodoscreenshot()
, passando as coordenadas da janela ativa, no caso, o notepad. Ao final, salva o screenshot na pasta assets do projeto.
Tratamento de erros:
-
logging: configuração de log de uso da aplicação, utilizando arquivo de configuração global
config.ini
. Logging esta sendo utilizado para gerar informações de cada processo realizado e erros da aplicação. -
try / except: executa o código e exporta o erro caso ocorra.