Mus- og tastaturautomatisering ved hjælp af Python

Mus- og tastaturautomatisering ved hjælp af Python

Denne artikel illustrerer, hvordan man automatiserer bevægelser af mus og tastatur ved hjælp af pyautogui modul i python. Dette modul er ikke forudindlæst med python. Så for at installere det skal du køre følgende kommando: 
 

 pip3 install pyautogui 


 

Styring af musebevægelser ved hjælp af pyautogui-modul


Python sporer og styrer musen ved hjælp af skærmens koordinatsystem. Antag, at opløsningen på din skærm er 1920X1080, så ser din skærms koordinatsystem således ud: 
 

gui i python


 

    størrelse(): Denne funktion bruges til at få skærmopløsning.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Gem denne fil med filtypenavnet .py, og kør derefter filen. 
Denne python-kode bruger funktionen størrelse() til at udlæse din skærmopløsning i x y-format: 
Produktion: 
 

 (1920 1080) 


Bemærk: Nogle af koderne i denne artikel kører muligvis ikke på geeksforgeeks IDE, da geeksforgeeks IDE ikke har de nødvendige moduler til at køre disse koder. Men disse koder kan nemt køres lokalt på din pc ved at installere python og følge instruktionerne i artiklen. 
 

    moveTo(): brug denne funktion til at flytte musen i pyautogui-modulet. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Denne kode bruger funktionen moveTo() som tager x- og y-koordinater og et valgfrit varighedsargument. Denne funktion flytter din musemarkør fra dens aktuelle placering til x y-koordinat og tager tid som angivet af varighedsargumentet at gøre det. Gem og kør dette python-script for at se din musemarkør på magisk vis bevæge sig fra dens nuværende placering til koordinater (100 100), hvilket tager 1 sekund i denne proces. 
 

    moveRel() funktion: flytter musemarkøren i forhold til dens tidligere position. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Denne kode vil flytte musemarkøren til (0 50) i forhold til dens oprindelige position. Hvis f.eks. musepositionen før kørsel af koden var (1000 1000), vil denne kode flytte markøren til koordinater (1000 1050) i 1 sekunds varighed. 
 

    position(): funktion for at få den aktuelle position af musemarkøren. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Output: koordinerer, hvor din mus befandt sig på tidspunktet for udførelse af programmet. 
 

    klik(): Funktion brugt til at klikke og trække med musen. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Denne kode udfører et typisk museklik på stedet (100 100). 
Vi har to funktioner forbundet med træk-operationen af ​​musen trækTil og trækRel . De udfører lignende funktioner som moveTo og moveRel, bortset fra at de holder venstre museknap nede, mens de flytter, og derved starter et træk. 
Denne funktionalitet kan bruges forskellige steder som at flytte en dialogboks eller tegne noget automatisk ved hjælp af et blyantværktøj i MS Paint. Sådan 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 kører koden, skal du åbne MS paint i baggrunden med blyantværktøjet valgt. Kør nu koden hurtigt og skift til MS paint inden 10 sekunder (da vi har givet 10 sekunders pausetid ved hjælp af sleep()-funktionen, før vi kører programmet). 
Efter 10 sekunder vil du se en firkant blive tegnet i MS paint med dens øverste venstre kant på 1000 1000 og kantlængden 100 pixels.

    scroll(): rullefunktion tager nej. af pixels som et argument og ruller skærmen op til et givet antal pixels.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Denne kode ruller den aktive skærm op til 200 pixels. 
 

    typewrite(): Du kan automatisere indtastning af strengen ved at bruge typewrite()-funktionen. Bare send den streng, du vil skrive, som et argument for denne funktion. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Antag, at et tekstfelt var til stede ved koordinaterne 100 100 på skærmen, så vil denne kode klikke på tekstfeltet for at gøre det aktivt og skrive hej Nørder! i den. 
 

    Videregivelse af nøglenavne: Du kan videregive nøglenavne separat gennem typewrite()-funktionen. 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Denne kode svarer automatisk til at skrive 'a' ved at trykke på venstre piletast og trykke på venstre kontroltast. 
 

    Tryk på genvejstastkombinationer: Brug genvejstast()-funktionen til at trykke på kombinationen af ​​taster som ctrl-c ctrl-a osv.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Denne kode svarer automatisk til at trykke på venstre ctrl og 'a' samtidigt. I Windows vil dette således resultere i valg af al tekst på skærmen.

Eksempel:

For at sende en besked i WhatsApp og slette den for alle automatisk. Du skal have Whatsapp allerede åbnet i chrome for at køre dette. Når du har kørt denne kode, skal du åbne 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   

 

Opret quiz