Python PyAutoGUI

Da Andreabont's Wiki.

PuAutoGUI è una libreria per automatizzare le interazioni con l'interfaccia grafica attraverso il controllo di mouse e tastiera. E' possibile consultare la documentazione ufficiale qui.

Tastiera

Scrittura automatica

pyautogui.typewrite('Hello world!')                 # Stampa "Hello world!" istantaneamente
pyautogui.typewrite('Hello world!', interval=0.25)  # Stampa "Hello world!" lasciando 250 ms tra ogni carattere

Controllo dei tasti

I tasti che è possibile controllare sono elencati nel vettore pyautogui.KEYBOARD_KEYS

pyautogui.keyDown('shift')                          # Tiene premuto il tasto indicato
pyautogui.keyUp('shift')                            # Rilascia il tasto indicato
pyautogui.press('shift')                            # Preme e rilascia il tasto indicato (equivale a keyDown e keyUp in sequenza)
pyautogui.press(['shift','shift','shift'])          # Preme e rilascia in sequenza i tasti indicati (equivale a typewrite)
pyautogui.hotkey('ctrl', 'shift', 'esc')            # Preme e rilascia insieme i tasti indicati

Mouse

Ottenimento informazioni sull'ambiente

Lo schermo è referenziabile attraverso una tupla (x, y) dove l'origine (0, 0) è il punto in alto a sinistra.

pyautogui.size()                                    # Ottieni tupla (x, y) della dimensione dello schermo
pyautogui.position()                                # Ottieni tupla (x, y) che indica posizione del mouse nello schermo
pyautogui.onScreen(0, 0)                            # Controlla se coordinate sono raggiungibili

Movimento del mouse

Assoluto

pyautogui.moveTo(100, 200)                          # Muove il mouse alle coordinate date istantaneamente
pyautogui.moveTo(100, 200, 2)                       # Muove il mouse alle coordinate date in 2 secondi
pyautogui.dragTo(100, 200, button='left')           # Muove il mouse alle coordinate date tenendo premuto un tasto

Relativo

pyautogui.moveRel(100, 200)                         # Muove il mouse del numero di pixel indicati istantaneamente
pyautogui.moveRel(100, 200, 2)                      # Muove il mouse del numero di pixel indicati in 2 secondi
pyautogui.dragRel(100, 200, button='right')         # Muove il mouse del numero di pixel indicati, tenendo premuto il mouse

Click del mouse

pyautogui.click()                                   # Click semplice
pyautogui.click(x=100, y=200)                       # Click sulle coordinate indicate
pyautogui.click(button='right')                     # CLick con il bottone indicato
pyautogui.click(clicks=2, interval=0.25)            # Numero click consecutivi con intervallo
pyautogui.scroll(10)                                # Scroll (rotellina)