Automazione di mouse e tastiera tramite Python

Automazione di mouse e tastiera tramite Python

Questo articolo illustra come automatizzare i movimenti del mouse e della tastiera utilizzando pyautogui modulo in Python. Questo modulo non è precaricato con Python. Quindi per installarlo esegui il seguente comando: 
 

 pip3 install pyautogui 


 

Controllo dei movimenti del mouse utilizzando il modulo pyautogui


Python traccia e controlla il mouse utilizzando il sistema di coordinate dello schermo. Supponiamo che la risoluzione del tuo schermo sia 1920X1080, quindi il sistema di coordinate del tuo schermo sarà simile a questo: 
 

GUI in Python


 

    misurare(): Questa funzione viene utilizzata per ottenere la risoluzione dello schermo.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Salva questo file con estensione .py e quindi esegui il file. 
Questo codice Python utilizza la funzione size() per visualizzare la risoluzione dello schermo nel formato xy: 
Produzione: 
 

 (1920 1080) 


Nota: alcuni dei codici forniti in questo articolo potrebbero non essere eseguiti sull'IDE di geeksforgeeks poiché l'IDE di geeksforgeeks non dispone dei moduli richiesti per eseguire questi codici. Ma questi codici possono essere facilmente eseguiti localmente sul tuo PC installando Python e seguendo le istruzioni fornite nell'articolo. 
 

    spostaA(): usa questa funzione per spostare il mouse nel modulo pyautogui. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Questo codice utilizza la funzione moveTo() che accetta le coordinate xey e un argomento di durata opzionale. Questa funzione sposta il puntatore del mouse dalla sua posizione corrente alle coordinate x y e impiega il tempo specificato dall'argomento durata per farlo. Salva ed esegui questo script Python per vedere il puntatore del mouse spostarsi magicamente dalla sua posizione corrente alle coordinate (100 100) impiegando 1 secondo in questo processo. 
 

    funzione moveRel(): sposta il puntatore del mouse rispetto alla posizione precedente. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Questo codice sposterà il puntatore del mouse su (0 50) rispetto alla sua posizione originale. Ad esempio, se la posizione del mouse prima di eseguire il codice era (1000 1000), questo codice sposterà il puntatore sulle coordinate (1000 1050) per una durata di 1 secondo. 
 

    posizione(): funzione per ottenere la posizione corrente del puntatore del mouse. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Output: coordinate in cui si trovava il mouse al momento dell'esecuzione del programma. 
 

    clic(): Funzione utilizzata per fare clic e trascinare il mouse. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Questo codice esegue un tipico clic del mouse nella posizione (100 100). 
Abbiamo due funzioni associate all'operazione di trascinamento del mouse dragTo e dragRel . Funzionano in modo simile alle funzioni moveTo e moveRel, tranne per il fatto che tengono premuto il pulsante sinistro del mouse durante lo spostamento, avviando così un trascinamento. 
Questa funzionalità può essere utilizzata in vari punti, ad esempio spostando una finestra di dialogo o disegnando qualcosa automaticamente utilizzando uno strumento matita in MS Paint. Per disegnare un quadrato con Paint: 
 

Python
   import   time   # a module which has functions related to time.    # It can be installed using cmd command:    # pip install time in the same way as pyautogui.   import   pyautogui   time  .  sleep  (  10  )   # makes program execution pause for 10 sec   pyautogui  .  moveTo  (  1000     1000     duration   =   1  )   # moves mouse to 1000 1000.   pyautogui  .  dragRel  (  100     0     duration   =   1  )   # drags mouse 100 0 relative to its previous position    # thus dragging it to 1100 1000   pyautogui  .  dragRel  (  0     100     duration   =   1  )   pyautogui  .  dragRel  (  -  100     0     duration   =   1  )   pyautogui  .  dragRel  (  0     -  100     duration   =   1  )   


Prima di eseguire il codice, apri MS Paint in background con lo strumento matita selezionato. Ora esegui il codice e passa rapidamente a MS Paint prima di 10 secondi (poiché abbiamo concesso un tempo di pausa di 10 secondi utilizzando la funzione sleep() prima di eseguire il programma). 
Dopo 10 secondi vedrai un quadrato disegnato in MS Paint con il bordo superiore sinistro a 1000 1000 e una lunghezza del bordo di 100 pixel.

    scorrere(): la funzione di scorrimento richiede n. di pixel come argomento e scorre lo schermo fino a un determinato numero di pixel.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Questo codice scorre lo schermo attivo fino a 200 pixel. 
 

    scrivere a macchina(): È possibile automatizzare la digitazione della stringa utilizzando la funzione typewrite(). basta passare la stringa che vuoi digitare come argomento di questa funzione. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Supponiamo che sullo schermo sia presente un campo di testo alle coordinate 100 100, questo codice farà clic sul campo di testo per renderlo attivo e digiterà ciao Geeks! in esso. 
 

    Passaggio dei nomi delle chiavi: Puoi passare i nomi delle chiavi separatamente tramite la funzione typewrite(). 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Questo codice è l'equivalente automatico di digitare "a" premendo il tasto freccia sinistra e premendo il tasto Ctrl sinistro. 
 

    Premendo le combinazioni di tasti di scelta rapida: Usa la funzione hotkey() per premere la combinazione di tasti come ctrl-c ctrl-a ecc.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Questo codice è l'equivalente automatico della pressione simultanea di ctrl sinistro e "a". Pertanto in Windows ciò comporterà la selezione di tutto il testo presente sullo schermo.

Esempio:

Per inviare un messaggio su WhatsApp ed eliminarlo automaticamente per tutti. È necessario che Whatsapp sia già aperto in Chrome per eseguirlo. Dopo aver eseguito questo codice, apri la scheda WhatsApp su Chrome.

Python3
   import   pyautogui   as   pg   import   time   def   delete_for_everyone  ():   pg  .  click  (  807     979  )   pg  .  typewrite  (  'hello'  )   pg  .  typewrite  ([  'enter'  ])   time  .  sleep  (  2  )   pg  .  click  (  1621     896  )   pg  .  click  (  1621     896  )   # time.sleep(1)   pg  .  click  (  1693     859  )   # time.sleep(1)   pg  .  click  (  1014     669  )   # time.sleep(1)   pg  .  click  (  1111     605  )   a  =  20   time  .  sleep  (  10  )   while  (  a  !=  0  ):   delete_for_everyone  ()   a  =  a  -  1   

 

Crea quiz