PyAutoGUI es una libreria de Python que nos permite controlar o automatizar tareas como controlar el mouse y teclado en el sistema operativo, ya sea WIndows, Mac o Linux.
PyAutogui tiene muchas funciones entre las que destacan.
- Mover el cursor del mouse a ciertas coordenadas, hacer click, dobleclick , arrastrar y soltar.
- Controlar el teclado, enviar teclas, atajos de teclado, sostener teclas, dejar una tecla presionada, soltar teclas.
- Tomar screenshots o capturas de pantalla, guardarlas, pueden ser completas o de una seccion especifica.
- Controlar las ventanas del sistema, minimizar, maximizar, cerrar.
- Enviar mensajes de alerta, error o confirmacion.
Estas acciones se pueden combinar entre ellas mismas o usar otras librerias para extender funcionalidades, todo depende de la creatividad y el uso que se les quiera dar.
Instalar PyautoGUI
Para instalar pyautogui es tan facil como abrir una consola y si ya tenemos instalado python y pip, ejecutamos el comando:
pip install pyautogui
Esto instalara la librería pyautogui y sus dependencias.
Ejemplo de PyautoGUI
El siguiente es un ejemplo sencillo de pyautogui ya que mas adelante vamos a hablar mas a detalle sobre cada uno de las acciones y tareas que se pueden hacer.
import pyautogui
screenwidth, screenheight = pyautogui.size() # obtener resolución de pantalla
print (screenwidth) # mostrar ancho
print(screenheight) # mostrar alto
pyautogui.alert("Hola mundo!") # mostrar una alerta "Hola Mundo!"
pyautogui.hotkey('win', 'r') # ejecutar el comando Windows + R
pyautogui.write('notepad') # escribir notepad en la ventana de Ejecutar
pyautogui.press('enter') # presionar la tecla ENTER
pyautogui.write('Hola Mundo!\n', interval=0.1) # cuando se abre el notepad escribimos el texto, y cada letra cada 0.1s
pyautogui.write('Esto es una prueba de PyAutoGUI!\n', interval=0.2) # escribimos la siguiente linea con un intervalo de 0.2s
El funcionamiento de cada linea esta en los comentarios, dentro de las funciones basicas de Pyautogui estan las siguientes.
- pyautogui.alert(alerta) .. Muestra una alerta de texto
- pyautogui.hotkey([teclas]) .. ejecuta un comando de teclas o atajo de teclado, puede ser ctrl + c , ctrl+v o en este claso win+r
- pyautogui.write(texto) .. envia texto como si se estuviera tecleando desde el teclado, se puede poner un intervalo de tiempo entre letras.
- pyautogui.press(tecla) .. presiona o envia una sola tecla
Para correr el codigo lo guardamos con un nombre.py y después lo ejecutamos en la terminal o cmd “python nombre.py”
El resultado del ejemplo es:
- Mostrar una alerta de texto
- Abrir la ventana de Ejecutar con el atajo Win + R
- En la ventana de ejecutar, escribir “notepad” y despues ENTER para abrir el bloc de notas
- En el block de notas cuando se abre escrbir el texto “Hola Mundo” con intervalo de 0.1 segundos por cada letra
- Despues escribir el texto “Esto es una prueba con PyautoGUI” y listo
Nota: Si se cambia la selección de la ventana del block de notas, las teclas se presionaran sobre la nueva ventana que seleccionemos.