PyAutoGUI: Guía Completa (2025)

Publicado el 23/06/2025

Índice de Contenidos

¿Te gustaría quitarte de encima esas tareas repetitivas como copiar y pegar datos o hacer clic en un mismo botón, sin complicarte con herramientas complejas? PyAutoGUI es una biblioteca de Python que te permite exactamente eso. Y con esta guía completa aprenderás todo sobre ella y sobre cómo utilizarla.

¿Qué es PyAutoGUI?

PyAutoGUI es una biblioteca de Python diseñada para automatizar el control del teclado y el ratón en sistemas operativos como Windows, macOS y Linux. ¿Qué controles se suele automatizar? Básicamente, acciones humanas como hacer clic, escribir, mover el cursor, tomar capturas de pantalla o buscar imágenes en pantalla. A diferencia de herramientas más complejas como Selenium (especializada en navegadores) o AutoIt (enfocada a Windows), PyAutoGUI se basa en la interacción directa con la interfaz gráfica (GUI), y por ende es la opción ideal para automatizar tareas repetitivas en cualquier aplicación visual.

Te puede interesar: herencia en Python.

Principales funciones de PyAutoGUI

Como mencionamos con PyAutoGUI es posible automatizar tareas como mover el ratón, escribir, hacer clic, pulsar combinaciones de teclas, tomar capturas de pantalla o reconocer elementos visuales. Pero sus funciones son un poco más específicas o complejas. Te las explicamos:

Movimientos del mouse

Con PyAutoGUI puedes mover el puntero del ratón a cualquier coordenada de la pantalla mediante funciones como moveTo(x, y) o moveRel(dx, dy). Además, permite hacer clic (click()), doble clic, clic derecho, mantener presionado el botón del mouse o incluso arrastrar objetos de una ubicación a otra (dragTo()).

Pulsaciones de teclas

PyAutoGUI permite simular cualquier pulsación de tecla con funciones como press(), write(), o combinaciones como hotkey(“ctrl”, “v”). Puedes escribir textos completos, usar atajos del sistema, emular combinaciones complejas y ejecutar comandos que normalmente se realizarían manualmente con el teclado.

Capturas de pantalla

Otra función muy útil es la posibilidad de capturar la pantalla o una región específica con screenshot(). Lo cual para documentar procesos automatizados o detectar visualmente cambios en la interfaz.

Detección de imágenes

Gracias a que PyAutoGUI permite buscar imágenes en pantalla y actuar en función de a través de funciones como locateOnScreen(“imagen.png”) o click(“imagen.png”), puedes encontrar botones, íconos u otros elementos visuales aunque no conozcas sus coordenadas exactas.

Automatizar tareas repetitivas en el trabajo

Al poder copiar datos entre documentos o abrir y cerrar programas automáticamente, PyAutoGUI ahorra horas de trabajo manual. Con unos pocos scripts puedes replicar tareas rutinarias, lo que reduce errores y libera tiempo para actividades más estratégicas. Por ejemplo, podrías automatizar el proceso de generar reportes mensuales, mover archivos entre carpetas, o realizar capturas de pantalla periódicas para monitoreo.

Crear bots simples para videojuegos o apps

Gracias a su capacidad para detectar imágenes y simular clics o teclas, PyAutoGUI es ideal para crear bots básicos en videojuegos o aplicaciones. Por ejemplo, puedes programar que un bot detecte un botón de “jugar” y haga clic, o que repita una secuencia de acciones cada cierto tiempo.

Automatizar pruebas de interfaz de usuario

En entornos de desarrollo, PyAutoGUI sirve como herramienta para pruebas funcionales. Simulando la interacción de un usuario real, es posible validar que los botones, formularios y otras partes de una interfaz funcionen correctamente. Aunque no sustituye a frameworks de testing más especializados, es una excelente opción para automatizaciones ligeras y pruebas manuales repetitivas.

Requisitos para usar PyAutoGUI

El primer paso para poder utilizar PyAutoGUI es saber si realmente puedes utilizarlo. Es decir, si cumples con los requisitos. 

Conocimientos necesarios

PyAutoGUI está diseñada para ser sencilla y accesible, incluso para quienes no tienen experiencia avanzada en programación. Sin embargo, para sacarle el máximo provecho, se recomienda contar con:

  • Conocimientos básicos de Python, entender variables, funciones, bucles y estructuras condicionales.
  • Familiaridad con coordenadas de pantalla.
  • Nociones básicas de automatización.


Sistemas operativos compatibles

Una de las grandes ventajas de PyAutoGUI es su compatibilidad multiplataforma. Funciona sin problemas en los principales sistemas operativos:

  • Windows
  • macOS
  • Linux

Esto significa que puedes escribir un script en un sistema y adaptarlo fácilmente para otro. Sin embargo, hay funciones específicas (como la captura de pantalla o el reconocimiento de imágenes) que varían ligeramente dependiendo del sistema operativo y las librerías adicionales instaladas.

Instalación de Python

Para utilizar PyAutoGUI, primero necesitas tener Python instalado en tu equipo. Verifica si es así abriendo tu terminal o símbolo del sistema y escribe “python --version” o “python3 --version”. Si aparece una versión, significa que Python ya está instalado. En caso contrario, podrás descargar su última versión desde su web oficial.

¿Cómo puedo instalar PyAutoGUI en Python?

Ahora que ya sabes los requisitos, pasemos a ver como es la instalación. No te preocupes, instalar PyAutoGUI es un proceso rápido y sencillo si ya tienes Python configurado en tu sistema. Aquí te mostramos cómo hacerlo paso a paso:

Paso 1. Abre tu terminal o consola

Según tu sistema operativo, accede a Windows CMD o PowerShell, macOS y Linux a Terminal.

Paso 2. Verifica que tienes Python y pip instalados

Ejecuta estos comandos para comprobar que Python y su gestor de paquetes (pip) están listos:

  • python --version
  • pip --version

Paso 3. Instala PyAutoGUI

Una vez confirmado que tienes pip funcionando, instala PyAutoGUI con:

  • pip install pyautogui

Paso 4. (Opcional) Instala dependencias para funciones avanzadas

Algunas funciones como la detección de imágenes o las capturas de pantalla suelen requerir paquetes adicionales:

  • En Windows: normalmente no hace falta instalar nada extra.
  • En macOS suele requerir pyobjc.
  • En Linux podrías necesitar python3-xlib, scrot y otros.
imagen del blog


Primeros pasos con PyAutoGUI


Ahora que ya tienes PyAutoGUI instalado, es momento de ponerlo en práctica:

Paso 1. Importa la librería

En tu archivo .py escribe “import pyautogui”

Paso 2. Mueve el cursor y haz clic

Puedes mover el ratón a una posición específica y hacer clic:

  • pyautogui.moveTo(100, 200, duration=1) # Se mueve en 1 segundo pyautogui.click()

También puedes hacer clic derecho, doble clic o clic en posiciones relativas:

  • pyautogui.rightClick()
  • pyautogui.doubleClick()

Paso 3. Escribe texto automáticamente

Para simular escritura con el teclado:

  • pyautogui.write("Hola, esto lo escribió un script :)", interval=0.1)

Puedes combinarlo con atajos:

  • pyautogui.hotkey("ctrl", "s") # Simula Ctrl+S

Paso 4. Toma una captura de pantalla

Captura toda la pantalla:

  • screenshot = pyautogui.screenshot()
  • screenshot.save("captura.png")

Paso 5. Detecta una imagen en pantalla

Busca un ícono o botón por su imagen:

  • ubicacion = pyautogui.locateOnScreen(“boton.png”)
  • if ubicacion:
  • pyautogui.click(ubicacion)

imagen del artículo

Ejemplos prácticos de automatización con PyAutoGUI

Para que aún te quede un poquito más claro te dejamos unos ejemplos prácticos de automatización:

Automatizar tareas de oficina

Imagina que necesitas abrir un archivo Excel cada mañana, copiar ciertos datos y pegarlos en un informe de Word. Con PyAutoGUI, puedes crear un script que:

  • Abre las aplicaciones necesarias.
  • Espera los tiempos de carga.
  • Usa atajos de teclado para copiar y pegar información.
  • Guarda y cierra los documentos automáticamente.


Enviar mensajes automáticamente

Puedes automatizar el envío de mensajes en plataformas como WhatsApp Web o Telegram Desktop. Por ejemplo, abrir el navegador, ubicar el contacto, escribir un mensaje y pulsar “Enter”, todo programado para ejecutarse a cierta hora del día.

Tomar capturas de pantalla periódicas

Ideal para monitorear dashboards, métricas o cámaras de seguridad. Puedes programar capturas cada cierto intervalo y guardarlas automáticamente con nombres únicos.

Automatizar clics en videojuegos

Si estás jugando un juego que requiere clics constantes o tareas repetitivas como recoger recompensas, puedes crear un bot simple que mueva el cursor y haga clic en intervalos definidos.

Simular pruebas de interfaz de usuario

Desarrolladores o testers pueden usar PyAutoGUI para validar la funcionalidad de botones, formularios y menús en aplicaciones de escritorio. Por ejemplo, automatizar el flujo de registro de usuario para verificar que no haya errores.

Limitaciones y consideraciones

Hasta ahora todo lo que te hemos contado es positivo, pero como cualquier herramienta PyAutoGU, no es perfecta ni apta para todos los escenarios. Aquí te compartimos sus principales limitaciones:

Depende completamente de la interfaz visual

PyAutoGUI trabaja con coordenadas de pantalla e imágenes. Si cambia la resolución, la posición de un botón o el diseño de la interfaz, tu script puede fallar. No “entiende” la lógica de la aplicación, solo lo que ve.

No detecta elementos HTML o accesibles

No es adecuado para automatizar sitios web complejos desde dentro del navegador (para eso, es mejor usar herramientas como Selenium). PyAutoGUI no reconoce campos de formulario, etiquetas o IDs.

Problemas con múltiples pantallas o escalado

En configuraciones con más de un monitor o donde hay escalado (por ejemplo, 125% de zoom), las coordenadas suelen desincronizarse y afectar el funcionamiento del script.

No es ideal para automatizaciones críticas

Debido a su dependencia visual y falta de control estructurado, no es recomendable usar PyAutoGUI en procesos críticos, bancarios o de alta seguridad. Es mejor reservarlo para tareas simples, repetitivas o no sensibles.

Problemas comunes y cómo solucionarlos

Aunque PyAutoGUI es fácil de usar y no está exento de limitaciones, tampoco está exento de errores:

El script falla al no encontrar una imagen en pantalla

Ocurre cuando la imagen de referencia que usas en locateOnScreen() no coincide exactamente con la visualización actual. Para evitar esto, hay que asegurarse de que la imagen de muestra esté bien recortada y sea nítida. También desactivar el escalado de pantalla (Windows) o usa resoluciones consistentes.

El mouse se mueve erráticamente o no llega al destino

Si se producen cambios en la resolución, escalado o múltiples monitores. Para evitarlo, hay que verificar las coordenadas con pyautogui.position() y ajustar tu código. También utilizar funciones como pyautogui.size() para adaptar tu script a diferentes tamaños de pantalla.

El script se detiene sin motivo aparente

Esto es a causa de que PyAutoGUI tiene una función de seguridad activada por defecto llamada FAILSAFE. Puedes desactivarlo (no recomendado para producción):

  • pyautogui.FAILSAFE = False


Problemas con permisos en macOS

Si macOS restringe el control de teclado y mouse por razones de seguridad, ve a Preferencias del Sistema > Seguridad y privacidad > Accesibilidad y da permiso a tu terminal o IDE.

Consejos y buenas prácticas para su uso

Si quieres que tus automatizaciones con PyAutoGUI sean más estables, seguras y fáciles de mantener, sigue estas recomendaciones:

  • Utiliza pausas estratégicas: No todas las interfaces cargan a la misma velocidad. Usa time.sleep() o pyautogui.PAUSE para dar tiempo a que las ventanas, botones o formularios se carguen antes de interactuar con ellos.
  • Crea scripts adaptables: Evita codificar coordenadas fijas. Usa detección de imágenes o calcula posiciones relativas si es posible. Esto hace tus scripts más resistentes a cambios de resolución.
  • Incluye una “salida de emergencia”: No olvides dejar activado pyautogui.FAILSAFE. Si tu script se comporta de forma inesperada, mover el mouse a la esquina superior izquierda también lo detendrá al instante.
  • Captura errores con try/except: Protege tus scripts con bloques try/except para evitar cierres inesperados y dar mensajes útiles si algo sale mal:

pyautogui.click()

except pyautogui.FailSafeException:

print("Script detenido por seguridad.")

  • Documenta tu código: Aunque tus scripts parezcan simples al principio, anota qué hace cada parte. Así podrás modificarlos más fácilmente con el tiempo o compartirlos con otros.
  • No interfieras manualmente durante la ejecución: Evita mover el mouse o usar el teclado mientras el script corre. Puedes interrumpir acciones clave y causar errores difíciles de rastrear.


Alternativas a PyAutoGUI


PyAutoGUI no es la unica herramienta que te permite realizar todo lo que te hemos mencionado. Si bien es una opción muy versátil para automatizar tareas con teclado y mouse, existen alternativas como:

AutoHotkey (Windows)

Ideal para usuarios de Windows que buscan automatizaciones rápidas y potentes. AutoHotkey es un lenguaje de scripting ligero diseñado específicamente para automatizar tareas en Windows. Permite desde simples macros hasta automatizaciones complejas con ventanas, teclas y control de procesos. Sus desventajas son la sintaxis diferente a Python y que solo está disponible para Windows.

SikuliX

SikuliX usa imágenes de la pantalla para interactuar con la interfaz, al igual que PyAutoGUI, pero está basado en Java y tiene capacidades más avanzadas de detección visual y OCR (reconocimiento de texto). Eso sí, su curva de aprendizaje es considerablemente más marcada.

Selenium (para automatización web)

Si tu objetivo es automatizar formularios, clicks o interacciones dentro de un navegador, Selenium es la herramienta más robusta. A diferencia de PyAutoGUI, no depende de imágenes ni posiciones, sino del DOM (estructura del sitio).

imagen del artículo

Te puede interesar: para qué sirve Java.

Preguntas frecuentes (FAQs)

¿Qué versiones de Python son compatibles con PyAutoGUI?

PyAutoGUI es compatible con Python 3.6 en adelante, y funciona correctamente en versiones modernas como Python 3.10 o 3.11. Lo más importante es que tu entorno tenga instaladas las dependencias necesarias como pillow, pymsgbox, pygetwindow, pyrect, pyperclip y mouseinfo.

¿Es necesario saber programación para usar PyAutoGUI?

Sí, es necesario tener conocimientos básicos de programación en Python. No necesitas ser un experto, pero debes comprender conceptos como:

  • Variables
  • Funciones
  • Estructuras de control (if, while, for)
  • Módulos e importaciones

¿PyAutoGUI funciona con páginas web o solo en el escritorio?

PyAutoGUI funciona principalmente sobre el escritorio, controlando el mouse y el teclado sobre la interfaz visual. Esto incluye ventanas de navegadores, pero no interactúa directamente con el código HTML o el DOM de las páginas web.

¿Se puede usar PyAutoGUI junto con otras librerías?

Sí, PyAutoGUI se integra fácilmente con otras librerías de Python como time, cv2, tkinter o schedule.

¿Cuál es la diferencia entre Pywinauto y PyAutoGUI?

Ambas librerías sirven para automatización en el entorno de escritorio, pero tienen enfoques distintos:

imagen del artículo

Domina PyAutoGUI y automatiza tu trabajo con EBIS Business Techschool

PyAutoGUI es una biblioteca de Python que te permite controlar el teclado y el ratón para automatizar tareas repetitivas en tu computadora. PyAutoGUI es una herramienta esencial para quienes buscan optimizar su productividad y minimizar errores manuales.

En EBIS Business Techschool, te ofrecemos un programa especializado donde aprenderás a utilizar esta y otras tecnologías de automatización para mejorar tu eficiencia profesional. Con nuestro Máster en IA Generativa, descubrirás cómo aplicar estas herramientas en escenarios reales, potenciando tu capacidad para diseñar soluciones inteligentes que ahorran tiempo y esfuerzo.

Al completar el máster, recibirás una doble titulación reconocida por EBIS y la Universidad de Vitoria-Gasteiz, junto con la opción de certificarte en herramientas clave del ecosistema. Estas credenciales te abrirán puertas en un mercado laboral cada vez más orientado a la transformación digital. ¡Forma parte de EBIS Business Techschool y adquiere las habilidades necesarias para ser un referente en automatización y programación!

Conclusión

En resumen, PyAutoGUI permite que automatizar tareas visuales en tu ordenador sea fácil, versátil y sorprendentemente potente. Eso sí, recuerda sus limitaciones y asegúrate de usarla de forma responsable. Con un poco de práctica, tus scripts pueden ahorrarte horas de trabajo manual y abrirte las puertas a un nuevo nivel de productividad.

Compártelo en tus redes sociales

Suscríbase a nuestra Newsletter
banner fundacion estatal

Centro inscrito en el Registro Estatal de Entidades de Formación en virtud de la ley 30/2015

EBIS ENTERPRISE SL; B75630632 (filial). EBIS EDUCATION SL; B67370601 (matriz). © 2025 EBIS Business Techschool, C. Agustín Millares, 18, 35001 Las Palmas de Gran Canaria