Mouse – Control del ratón en Python

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción

El control del ratón es un aspecto clave en la automatización de la interacción con interfaces de usuario. Ya sea para pruebas automatizadas, scripts, bots de juegos o utilidades de automatización, a menudo es necesario mover el cursor, simular clics y capturar las acciones del usuario de forma programática. En Python, la biblioteca mouse es la herramienta ideal para ello.

La biblioteca mouse ofrece una API simple y directa para trabajar con el ratón: monitoreo de eventos, ejecución de clics, grabación y reproducción de movimientos. Es multiplataforma, fácil de instalar y se utiliza tanto en scripts aislados como en proyectos complejos de RPA (Automatización Robótica de Procesos).

Instalación y configuración de la biblioteca mouse

Instalación mediante pip

pip install mouse

Requisitos del sistema y permisos

En Linux y macOS, es posible que necesites ejecutar el script como administrador o conceder permisos para el control de entrada.

En Linux:

sudo pip install mouse

En macOS: Debes otorgar acceso en Seguridad y Privacidad → Accesibilidad.

En Windows: Algunas funciones requieren ejecutarse con permisos de administrador.

Arquitectura y principios de funcionamiento

Componentes principales

La biblioteca mouse se compone de varios elementos clave:

  • Controller — control del cursor y emulación de acciones
  • Listener — monitoreo de eventos del ratón
  • Recorder — grabación y reproducción de macros
  • Event System — sistema de manejo de eventos

Plataformas compatibles

  • Windows (a través de la API de Windows)
  • macOS (a través de Cocoa)
  • Linux (a través de X11/Wayland)

Funcionalidades principales de la biblioteca

Emulación de acciones del ratón

mouse funciona tanto para capturar las acciones del usuario (listener) como para emular movimientos y clics (controller).

Funciones principales:

  • Monitoreo de pulsaciones y liberaciones de botones
  • Detección de la posición del cursor
  • Clics y desplazamiento programáticos
  • Movimiento del cursor
  • Atajos de ratón
  • Grabación y reproducción de macros

Tipos de eventos

La biblioteca maneja los siguientes tipos de eventos:

  • ButtonEvent — pulsación/liberación de botones
  • MoveEvent — movimiento del cursor
  • WheelEvent — desplazamiento de la rueda

Control del cursor y posicionamiento

Movimiento del cursor

import mouse

# Posicionamiento absoluto
mouse.move(100, 200)

# Movimiento relativo
mouse.move(50, 0, absolute=False)

# Movimiento suave con retardo
mouse.move(300, 400, duration=1.0)

Obtener las coordenadas actuales

# Obtener la posición del cursor
x, y = mouse.get_position()
print(f"El cursor está en: ({x}, {y})")

# Uso en condiciones
if mouse.get_position()[0] > 500:
    print("El cursor está en la parte derecha de la pantalla")

Emulación de clics y acciones

Tipos principales de clics

# Clic izquierdo
mouse.click('left')
mouse.left_click()

# Clic derecho
mouse.click('right')
mouse.right_click()

# Clic central
mouse.click('middle')
mouse.middle_click()

# Doble clic
mouse.double_click()

Clics en coordenadas específicas

# Clic en coordenadas determinadas
mouse.click('left', (300, 400))

# Guardar la posición antes del clic
original_pos = mouse.get_position()
mouse.click('left', (100, 100))
mouse.move(*original_pos)

Mantener presionado

Recommendations