Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:automatizacion_gui

¡Esta es una revisión vieja del documento!


Python: Automatización GUI

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

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.1604587213.txt.gz · Última modificación: por tempwin