Articolo in stesura….
Automatizzare operazioni ripetitive è uno dei super‑poteri di chi sviluppa in Python: fa risparmiare tempo e vi lascia concentrare su ciò che conta davvero.
In questo post vedremo come rilevare le coordinate del mouse e poi farci cliccare sopra automaticamente, il tutto con poche righe di codice.
Passo 1 – Rilevare le coordinate del mouse
Il codice Python qui sotto prende le coordinate del mouse in tempo reale ed e’ utile per individuare le coordinate del bottone da cliccare con il successivo script.
#!/usr/bin/env python3
"""
Script che mostra le coordinate del mouse in tempo reale.
Premi CTRL-C per uscire.
"""
import pyautogui
import time
print("Avvio monitoraggio posizione mouse... CTRL-C per uscire.")
print("Le coordinate verranno mostrate nel formato (x, y)")
try:
while True:
# Ottieni la posizione corrente del mouse
x, y = pyautogui.position()
# Pulisci la riga precedente e mostra le nuove coordinate
print(f"\rPosizione attuale: ({x}, {y})", end="")
time.sleep(0.1) # Aggiorna ogni 100ms
except KeyboardInterrupt:
print("\n\nInterrotto dall'utente. Uscita pulita.")
Passo 2 – Inserire le coordinate nel tuo script
Le coordinate che hai appena copiato dal precedente script vanno ora inserite nel seguente codice .
(Puoi anche crearne una lista se devi cliccare in più punti, nell’ordine che preferisci).
#!/usr/bin/env python3
"""
Clic destro ciclico su quattro punti dello schermo.
❱ Modifica la lista `points` con le tue coordinate (x, y).
❱ Premi CTRL-C (o muovi bruscamente il mouse nell’angolo in alto a sinistra)
per interrompere lo script grazie a PyAutoGUI.FAILSAFE.
"""
import time
import pyautogui
# Abilita l'arresto d'emergenza spostando il mouse nell'angolo in alto a sinistra
pyautogui.FAILSAFE = True
# Coordinate (x, y) su cui cliccare in sequenza
points = [
(1608, 1118), # Punto 1
(1608, 1118), # Punto 2
(1608, 1118), # Punto 3
#(300, 300) # Punto 4
]
# Parametri facili da tarare
MOVE_DURATION = 0.80 # secondi impiegati per raggiungere il punto
PAUSE_BETWEEN = 5.50 # pausa dopo il click
print("Avvio ciclo di click... CTRL-C per uscire.")
try:
while True:
for x, y in points:
pyautogui.moveTo(x, y, duration=MOVE_DURATION) # sposta il mouse
#clicca con il pulsante sinistro
pyautogui.click(button='left') # click sinistro
#clicca con il pulsante destro
#pyautogui.click(button='right') # click destro
#
time.sleep(PAUSE_BETWEEN)
except KeyboardInterrupt:
print("\nInterrotto dall'utente. Uscita pulita.")
il file requirements.txt :
evdev==1.9.2
MouseInfo==0.1.3
PyAutoGUI==0.9.54
PyGetWindow==0.0.9
PyMsgBox==1.0.9
pynput==1.8.1
pyperclip==1.9.0
PyRect==0.2.0
PyScreeze==1.0.1
python-xlib==0.33
python3-xlib==0.15
pytweening==1.2.0
six==1.17.0
