Installazione di Pyautogui
Prima di usare le funzioni di Pyautogui modulo, dobbiamo installarlo. Per installare questo modulo, eseguire il seguente comando in terminale.
$ pip Installa Pyautogui
O
$ PIP3 Installa PyautoguiOra Pyautogui è pronto per l'uso.
Ottenere la risoluzione del display
Prima di automatizzare le azioni del mouse, è una buona pratica conoscere la risoluzione del display. Possiamo ottenere la risoluzione del display utilizzando .misurare() metodo di
Pyautogui. Vedi sotto ottenendo la risoluzione dello schermo sotto forma di "larghezza x altezza":
Python 2.7.15+ (impostazione predefinita, 7 ottobre 2019, 17:39:04)Digita "Guida", "Copyright", "Credit" o "Licenza" per ulteriori informazioni.
>>> Importa PyautoguiSignifica che abbiamo 1366 pixel in direzione orizzontale del display e 768 pixel in direzione verticale del display.
Spostando il mouse in mostra
Quindi conosciamo la risoluzione del nostro display. Ora possiamo spostare il mouse ovunque sul display entro i limiti di risoluzione del display. Possiamo spostare il mouse usando .moveTo () Metodo di Pyautogui. Esempio di seguito del mouse mobile alla posizione (100.100) in 2 secondi
>>> Importa PyautoguiAbbiamo superato tre argomenti a .Metodo moveTo (). I primi due argomenti sono obbligatori e mostrano la posizione di destinazione, ma il terzo argomento non è obbligatorio. Se non passiamo il terzo argomento, il mouse si sposta a destinazione in pochissimo tempo.
Facendo clic, scorrendo e trascinando il mouse
Pyautogui fornisce alcuni metodi per controllare le azioni del mouse. Possiamo fare clic, scorrere e trascinare il mouse usando metodi diversi.
È possibile eseguire il clic di azione del mouse utilizzando .Metodo Click (). Prima di fare clic, spostare il mouse sul pixel richiesto, quindi utilizzare .Fai clic su () per fare clic su. Di seguito è riportato l'esempio per eseguire l'azione di clic del mouse. Esempio di seguito passerà al mouse su (300.201) pixel e fai clic sul mouse.
>>> Importa PyautoguiÈ possibile fare doppio clic sul mouse utilizzando .doppio click() metodo.
>>> Pyautogui.Moveto (300.201)Pyautogui fornisce un metodo .scorrere() per scorrere il mouse su o giù. Questo metodo prende un numero intero come argomento, quindi scorre verso l'alto o verso il basso a seconda del numero intero. Se passi un numero intero positivo, scorrere verso l'alto e per un numero intero negativo scorrere verso il basso. Quanto scorrerà? Dipende dal valore dell'intero.
>>> Importa PyautoguiNell'esempio sopra, prima il mouse scorrerà su 20 unità e quindi scorrere verso il basso 20 unità.
Il funzionamento del mouse di trascinamento può anche essere applicato utilizzando .dragto () Metodo del modulo Pyautogui. Trascinando i mezzi, spostando il mouse mentre si preme uno dei pulsanti del mouse. Questo metodo richiede tre argomenti, i primi due argomenti per visualizzare le coordinate della destinazione e l'ultimo argomento è il tempo di durata che significa quanto tempo ci vorrà per spostarsi a destinazione.
Per vedere l'operazione di trascinamento, aprire la vernice, massimizzare la finestra, scegliere la matita ed eseguire i seguenti comandi nella shell interattiva. Il codice sposterà il mouse su (138.229) pixel in 2 secondi, quindi trascina il mouse dal pixel corrente al pixel richiesto anche in 2 secondi.
>>> Importa PyautoguiIl codice sopra creerà un programma quadrato su verniciatura trascinando il mouse.
Come trovare le coordinate di un'icona di directory o file
Per trovare le coordinate di un file o di una directory, .posizione() viene utilizzato il metodo. Questo metodo restituisce le coordinate in cui è attualmente presente il mouse. Segui i passaggi indicati per trovare le coordinate
Gestire la pausa e fallire
Stai scrivendo uno script per automatizzare le azioni del mouse e hai bisogno di una breve pausa tra ogni comando. Come lo gestirai? Userai .sonno() metodo di TEMPO modulo dopo ogni comando? Ma aumenterà la durata del codice. Questo può essere fatto mediante impostazione Pyautogui.PAUSA variabile al numero di secondi che desideri una pausa. Questo creerà una pausa dopo ogni comando. L'esempio seguente fa una pausa 3 secondi tra ciascun comando.
>>> Importa PyautoguiPython ha anche un Fallsafe caratteristica. Per abilitare questa funzione, abbiamo impostato Pyautogui.Non riesce a vero. Come funziona? Ad esempio, il tuo display ha una risoluzione di 1366 x 768. Se si sposta il mouse su (1500.1500), il programma si schianterà aumentando FailsafeException. È possibile gestire questa eccezione utilizzando Try and Trange l'istruzione o disabilitando Pyautogui.Fallsafe. Disabilitando la funzione FailSafe, il programma non aumenterà questa eccezione.
>>> Importa PyautoguiNell'esempio sopra abbiamo spostato il mouse su (1500.1500) pixel ma lo schermo ha (1366.768) pixel. Il programma ha ignorato questa eccezione.
Invio di una stringa dalla tastiera
Pyautogui fornisce una funzione per passare una stringa dalla tastiera. Questo può essere fatto usando .Metodo da typewrite () di questo modulo. Prima di passare la stringa dalla tastiera, concentrati sulla finestra in cui hai intenzione di passare la stringa. Per concentrarci sulla finestra richiesta, possiamo usare .Metodo Click ().
Abbiamo usato un punto e virgola tra i due comandi mentre si concentra sull'editor di testo e supera la stringa dietro l'altro. Ora la domanda è come possiamo passare le chiavi "alt" o "shift". Queste chiavi possono essere rappresentate da valori di stringa brevi. Alcuni valori di stringa sono riportati di seguito.
Valori della stringa dei tastiPer passare una delle chiavi sopra, utilizziamo questi valori di stringa in forma di elenco. Il seguente esempio chiarirà questo. Il codice sta passando "capslock" due volte. Prima volta in forma di elenco e seconda volta String semplice. Passando "Capslock" nell'elenco premuto il tasto "Caps Lock". E il secondo "capslock" semplicemente scrivi "capslock" nel capitale come il tasto "capslock" viene premuto per primo.
>>> Importa PyautoguiScorciatoie pressanti
Una scorciatoia è la combinazione di chiavi per svolgere alcune attività. Ad esempio, il collegamento 'alt+f4' viene utilizzato per chiudere la finestra corrente. Una combinazione di tasti può anche essere passata dalla tastiera usando il modulo Pyautogui. Per premere "Alt+F4", premi prima e tratteniamo il tasto "ALT", quindi premiamo il tasto "F4". Dopo aver rilasciato la chiave "F4", rilasciamo il tasto "Alt". Qui useremo .keyup () E .keydown () Metodi per premere una combinazione di chiavi. L'esempio seguente mostra la pressione e la tenuta del tasto "alt" e la pressione e il tasto "F4" insieme.
Importa PyautoguiNOTA: Nell'esempio sopra non abbiamo usato l'elenco del valore stringa di chiave "alt" e "f4". L'elenco del valore della stringa viene passato solo a .dattilrite () metodo.
È molto complicato premere e tenere premuto il tasto "Alt", quindi premere il tasto "F4" e dopo aver rilasciato il tasto "F4", quindi rilasciare il tasto "Alt". Questo può essere fatto semplicemente usando .Hotkey () metodo. Il seguente esempio eliminerà il concetto.
Importa PyautoguiSchermatura e analizzare lo screenshot
Possiamo anche fare screenshot usando Python. Offerte del modulo Pyautogui .immagine dello schermo() Metodo per prendere lo screenshot dello schermo corrente. Lo screenshot può essere visualizzato utilizzando .spettacolo() metodo. Esegui il seguente comando per prendere uno screenshot e visualizzarlo.
>>> Importa PyautoguiQuando si esegue i comandi sopra per prendere lo screenshot, verrà salvato nella variabile "IMG". Ora possiamo chiamare ulteriori metodi sulla variabile 'IMG'.
Possiamo ottenere una tupla dei valori RGB del nostro pixel richiesto utilizzando .getPixel () Metodo sulla variabile 'IMG'. Argomento passato a .Il metodo getPixel () è una tupla contenente le coordinate xey dello screenshot. Esegui il comando seguente nella shell interattiva.
>>> img.getPixel ((2,3))Inoltre possiamo ottenere la dimensione dell'immagine usando il comando seguente
>>> img.misurarePossiamo verificare se i pixel di schermo indicati corrispondono o meno al valore RGB dato. Questo può essere fatto usando .PixelMatcheScolor () metodo. Un totale di tre argomenti vengono passati a questo metodo. I primi due argomenti sono le coordinate xey dello schermo e il terzo argomento è una tupla di valori RGB. Questo metodo restituisce "vero" se il colore corrisponde a pixel altrimenti "false". Questo metodo può essere usato come segue
>>> Pyautogui.Pixelmatchescolor (2,3, (85,82,74))Abbiamo visto alcune basi e ora nelle sezioni seguenti vedremo alcuni casi d'uso di automatizzazione della GUI usando il modulo Pyautogui.
Aprire automaticamente file diversi per te
Ogni giorno nel tuo ufficio, devi aprire molti file per inserire manualmente alcuni dati dei dipendenti. È una cosa un po 'noiosa da fare. Prima vai alla directory dei documenti, quindi vai a un'altra directory e apri un file, quindi torna alla directory del documento e vai a un'altra directory e fai la stessa cosa ecc.
Questo può essere fatto semplicemente scrivendo una sceneggiatura Python. Quello che devi fare è eseguire solo lo script e lo script aprirà tutti i file.
Per eseguire questo compito, prima di tutto devi individuare le coordinate del seguito
Come trovare le coordinate è stato spiegato in precedenza.
# Importazione del modulo PyautoguiNel codice sopra, apriamo un solo file. Allo stesso modo è possibile estendere il codice per aprire più file.
Guardando impegnato sul sistema
Sei al tuo lavoro e non stai lavorando sul sistema, ma il tuo sistema ha un'app installata che può indovinare se sei seduto inattivo o lavora sul sistema usando il movimento del mouse. Quindi vuoi automatizzare il mouse per muoversi dopo ogni breve intervallo di tempo.
Questo può essere fatto scrivendo un piccolo script di Python usando Pyautogui modulo.
Importa PyautoguiNel codice sopra stiamo spostando il mouse da una posizione in un'altra posizione ogni 5 secondi. Possiamo lasciare questo codice premendo "Ctrl+C".
In questo blog abbiamo discusso di come puoi usare il modulo Pyautogui per automatizzare la GUI del sistema. Sono state spiegate diverse funzioni di questo modulo e puoi automatizzare quasi tutto ciò che può essere fatto usando tastiera e mouse usando queste funzioni.