Este vídeo es una introducción a pyautogui una librería con la que podrás emular un teclado, ratón, tomar capturas de pantalla, etc. Muy útil por ejemplo para abrir aplicaciones y ejecutar secuencias de comandos automáticamente
Básicamente la libreria lo que nos ofrece son comandos para:
- Controlar el teclado y el ratón
- Enviar mensajes y capturar datos del usuario.
- Capturas de pantalla
- Obtener información del escritorio
Control del teclado y el ratón
Los comandos básicos para el control del teclado y el ratón se pueden dividir en dos: click y write. Por ejemplo:
pyautogui.click(206, 73)
Hace clic en las coordenadas X e Y indicadas.
También podemos pasar como parámetro una imagen del icono y pyautogui se encargará del resto, por ejemplo si agregamos la siguiente imagen:
podemos pasársela al comando click para que busque en el escritorio y lo ejecute:
pyautogui.click('chrome.png')
También nos permite enviar texto con el comando write de forma similar como lo haríamos con el teclado:
pyautogui.write('gmail.com', interval=0.25)
o tambien enviar teclas especiales como enter con el comando:
pyautogui.press('enter')
un ejemplo de script combinando ambos comandos podría ser el siguiente en el que para un escritorio ubuntu de 1920×1080 de resolución podríamos reiniciar sesion en nuestro correo de gmail automáticamente:
import pyautogui
from time import sleep
screenWidth, screenHeight = pyautogui.size()
currentMouseX, currentMouseY = pyautogui.position()
print(currentMouseX, currentMouseY)
pyautogui.click('chrome.png')
pyautogui.click(206, 73)
pyautogui.write('gmail.com', interval=0.25)
pyautogui.press('enter')
sleep(1.0)
pyautogui.click(850, 498)
sleep(1.0)
pyautogui.click(1084, 685)
Otro ejemplo mas elaborado seria pintar en gimp con los comandos drag:
import pyautogui
from time import sleep
sleep(5.0)
distance = 200
while distance > 0:
pyautogui.drag(distance, 0, duration=0.5)
distance -= 5
pyautogui.drag(0, distance, duration=0.5)
pyautogui.drag(-distance, 0, duration=0.5)
distance -= 5
pyautogui.drag(0, -distance, duration=0.5)
Capturar la pantalla
Para capturar la pantalla simplemente necesitamos ejecutar el comando screenshot:
import pyautogui
from time import sleep
sleep(1.0)
im1 = pyautogui.screenshot()
im2 = pyautogui.screenshot('my_screenshot.png')
Si le pasamos un parámetro con el nombre de la imagen nos guardará la captura con ese mismo nombre y formato. Para pruebas automatizadas viene genial! ¿no crees?
Mensajes y alertas
Por ultimo podemos mostrar mensajes y alertas de forma sencilla:
from pyautogui import alert
#mensajes
alert(text='Hola Argonautas', title='Subscribiros a mi canal de youtube', button='OK')
Hasta aquí todo lo básico ¡pero hay mucho más! puedes consultar la pagina oficial https://pyautogui.readthedocs.io/en/latest/