Mus- og tastaturautomatisering ved hjelp av Python

Mus- og tastaturautomatisering ved hjelp av Python

Denne artikkelen illustrerer hvordan du automatiserer bevegelser av mus og tastatur ved hjelp av pyautogui modul i python. Denne modulen er ikke forhåndslastet med python. Så for å installere det, kjør følgende kommando: 
 

 pip3 install pyautogui 


 

Kontrollere musebevegelser ved hjelp av pyautogui-modulen


Python sporer og kontrollerer musen ved hjelp av koordinatsystemet på skjermen. Anta at oppløsningen på skjermen din er 1920X1080, så ser skjermens koordinatsystem slik ut: 
 

gui i python


 

    størrelse(): Denne funksjonen brukes til å få skjermoppløsning.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Lagre denne filen med filtypen .py og kjør filen. 
Denne python-koden bruker size()-funksjonen for å sende ut skjermoppløsningen din i x y-format: 
Produksjon: 
 

 (1920 1080) 


Merk: Noen av kodene i denne artikkelen kjører kanskje ikke på geeksforgeeks IDE siden geeksforgeeks IDE ikke har de nødvendige modulene for å kjøre disse kodene. Men disse kodene kan enkelt kjøres lokalt på PC-en din ved å installere python og følge instruksjonene i artikkelen. 
 

    moveTo(): bruk denne funksjonen til å flytte musen i pyautogui-modulen. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Denne koden bruker funksjonen moveTo() som tar x- og y-koordinater og et valgfritt varighetsargument. Denne funksjonen flytter musepekeren fra den nåværende plasseringen til y-koordinaten og det tar tid som spesifisert av varighetsargumentet å gjøre det. Lagre og kjør dette python-skriptet for å se musepekeren magisk bevege seg fra sin nåværende plassering til koordinater (100 100) som tar 1 sekund i denne prosessen. 
 

    moveRel() funksjon: flytter musepekeren i forhold til forrige posisjon. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Denne koden vil flytte musepekeren til (0 50) i forhold til sin opprinnelige posisjon. For eksempel hvis museposisjon før kjøring av koden var (1000 1000), vil denne koden flytte pekeren til koordinater (1000 1050) i varighet 1 sekund. 
 

    posisjon(): funksjon for å få gjeldende posisjon til musepekeren. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Utdata: koordinerer hvor musen din var på tidspunktet da programmet ble kjørt. 
 

    klikk(): Funksjon som brukes for å klikke og dra musen. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Denne koden utfører et typisk museklikk på stedet (100 100). 
Vi har to funksjoner knyttet til draoperasjonen til musen draTil og draRel . De utfører lignende funksjoner som moveTo og moveRel, bortsett fra at de holder venstre museknapp mens de beveger seg, og dermed starter en dra. 
Denne funksjonaliteten kan brukes på forskjellige steder som å flytte en dialogboks eller tegne noe automatisk ved hjelp av et blyantverktøy i MS Paint. Slik tegner du en firkant i maling: 
 

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  )   


Før du kjører koden, åpne MS paint i bakgrunnen med blyantverktøyet valgt. Kjør nå koden raskt bytt til MS paint før 10 sekunder (siden vi har gitt 10 sekunders pausetid ved å bruke sleep()-funksjonen før du kjører programmet). 
Etter 10 sekunder vil du se en firkant tegnes i MS-maling med øverste venstre kant på 1000 1000 og kantlengde 100 piksler.

    scroll(): rullefunksjonen tar nei. piksler som argument og ruller skjermen opp til et gitt antall piksler.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Denne koden ruller den aktive skjermen opp til 200 piksler. 
 

    skriv(): Du kan automatisere skriving av strengen ved å bruke typewrite()-funksjonen. bare send inn strengen du vil skrive inn som et argument for denne funksjonen. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Anta at et tekstfelt var til stede ved koordinatene 100 100 på skjermen, så vil denne koden klikke på tekstfeltet for å gjøre det aktivt og skrive hei Geeks! i den. 
 

    Sende nøkkelnavn: Du kan sende nøkkelnavn separat gjennom typewrite()-funksjonen. 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Denne koden er den automatiske ekvivalenten til å skrive 'a' ved å trykke på venstre piltast og trykke på venstre kontrolltast. 
 

    Trykke hurtigtastkombinasjoner: Bruk hurtigtast()-funksjonen for å trykke kombinasjonen av taster som ctrl-c ctrl-a osv.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Denne koden er den automatiske ekvivalenten til å trykke venstre ctrl og 'a' samtidig. I Windows vil dette derfor resultere i valg av all tekst på skjermen.

Eksempel:

For å sende en melding i WhatsApp og slette den for alle automatisk. Du må ha Whatsapp allerede åpnet i chrome for å kjøre dette. Etter å ha kjørt denne koden, åpne WhatsApp-fanen på 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   

 

Lag quiz