Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:automatizacion_gui

¡Esta es una revisión vieja del documento!


Python: Automatización GUI

Se llama automatización GUI al control del ratón y teclado.

Se usa el módulo externo PyAutoGUI que podemos instalar con pip: pip install pyautogui

Tamaño de pantalla

import pyautogui
 
pyautogui.size()
 
# Resultado
# Size(width=1920, height=1080)

Para obtener la posición actual del ratón:

import pyautogui
 
pyautogui.position()

Control del ratón

Mover

pyautogui.moveTo(10, 10)

Podemos definir cuánto tiempo le llevará moverse a la posición indicada:

pyautogui.moveTo(10, 10, duration=1.5)

La opción duration acepta segundos.

Si queremos hacer un movimiento de forma relativa, es decir, movernos tomando como punto inicial la posición actual del ratón y no la esquina superior izquierda de la pantalla, utilizamos el método moveRel():

pyautogui.moveRel(20, 0)

Con el código anterior, el ratón se movería 20 píxeles a la derecha de la posición actual

Clic

Un clic:

pyautogui.click(300, 10)

Doble clic:

pyautogui.doubleClick(300, 10)

Clic con el botón central:

pyautogui.middleClick(300, 10)

Arrastrar

pyautogui.dragRel(100, 0, duration=0.1)

Ejemplo dibujando una espiral cuadrada en Paint:

import pyautogui
 
# Hacemos foto con el programa de dibujo
pyautogui.click()
 
distancia = 200
 
while distancia > 0:
    pyautogui.dragRel(distancia, 0, duration=0.1) # Mover a la derecha
    distancia = distancia - 25
    pyautogui.dragRel(distancia, 0, duration=0.1) # Mover abajo
    distancia = distancia- 25
    pyautogui.dragRel(distancia, 0, duration=0.1) # Mover a la izquierda
    distancia = distancia- 25
    pyautogui.dragRel(distancia, 0, duration=0.1) # Mover arriba

Si alguna vez se pierde el control al estar en ejecución algún método de PyAutoGUI, el módulo tiene una secuencia de parada cuando detecta que el ratón se mueve a las coordenadas (0,0), así que si queremos finalizar un programa de PyAutoGUI, llevamos rápidamente el ratón a la esquina superior izquierda de la pantalla

Obtener coordenadas del ratón

El módulo PyAutoGUI incluye un método para ver en directo las coordenas del puntero del ratón:

import pyautogui
pyautogui.displayMousePosition()

El método displayMousePosition() está pensado para ejecutarse desde una sesión interactiva en el intérprete

Ejemplo de salida:

>>> pyautogui.displayMousePosition()
Press Ctrl-C to quit.
X:  323 Y:  651 RGB: ( 12,  12,  12)
informatica/programacion/python/automatizacion_gui.1604587358.txt.gz · Última modificación: por tempwin