Mus- och tangentbordsautomatisering med Python

Mus- och tangentbordsautomatisering med Python

Den här artikeln illustrerar hur man automatiserar rörelser av mus och tangentbord med hjälp av pyautogui modul i python. Denna modul är inte förladdad med python. Så för att installera det kör följande kommando: 
 

 pip3 install pyautogui 


 

Styr musrörelser med pyautogui-modulen


Python spårar och styr musen med hjälp av skärmens koordinatsystem. Anta att upplösningen på din skärm är 1920X1080 så ser skärmens koordinatsystem ut så här: 
 

gui i python


 

    storlek(): Denna funktion används för att få skärmupplösning.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Spara den här filen med filtillägget .py och kör sedan filen. 
Denna python-kod använder funktionen size() för att mata ut din skärmupplösning i x y-format: 
Produktion: 
 

 (1920 1080) 


Obs: Vissa av koderna i den här artikeln kanske inte körs på geeksforgeeks IDE eftersom geeksforgeeks IDE inte har de moduler som krävs för att köra dessa koder. Men dessa koder kan enkelt köras lokalt på din PC genom att installera python och följa instruktionerna i artikeln. 
 

    flytta Till(): använd den här funktionen för att flytta musen i pyautogui-modulen. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Den här koden använder funktionen moveTo() som tar x- och y-koordinater och ett valfritt varaktighetsargument. Den här funktionen flyttar muspekaren från den aktuella platsen till y-koordinaten och det tar tid enligt varaktighetsargumentet att göra det. Spara och kör detta python-skript för att se din muspekare magiskt flytta sig från sin nuvarande plats till koordinater (100 100) som tar 1 sekund i denna process. 
 

    moveRel() funktion: flyttar muspekaren i förhållande till dess tidigare position. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Denna kod kommer att flytta muspekaren till (0 50) i förhållande till sin ursprungliga position. Till exempel om muspositionen innan koden kördes var (1000 1000) så kommer denna kod att flytta pekaren till koordinater (1000 1050) under 1 sekund. 
 

    placera(): funktion för att få aktuell position för muspekaren. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Utdata: koordinerar var din mus befann sig när programmet kördes. 
 

    klick(): Funktion som används för att klicka och dra musen. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Denna kod utför ett typiskt musklick på platsen (100 100). 
Vi har två funktioner förknippade med dragoperationen av musen dra Till och draRel . De utför liknande funktionerna moveTo och moveRel förutom att de håller nere vänster musknapp medan de flyttar och initierar ett drag. 
Denna funktion kan användas på olika ställen som att flytta en dialogruta eller rita något automatiskt med hjälp av ett pennverktyg i MS Paint. Så här ritar du en fyrkant i färg: 
 

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  )   


Innan du kör koden öppnar du MS paint i bakgrunden med pennverktyget valt. Kör nu koden snabbt byt till MS paint innan 10 sekunder (eftersom vi har gett 10 sekunders paustid med sleep()-funktionen innan programmet körs). 
Efter 10 sekunder kommer du att se en fyrkant som ritas i MS paint med dess övre vänstra kant på 1000 1000 och kantlängden 100 pixlar.

    rulla(): rullningsfunktionen tar nej. pixlar som ett argument och rullar skärmen upp till ett givet antal pixlar.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Denna kod rullar den aktiva skärmen upp till 200 pixlar. 
 

    skriv(): Du kan automatisera skrivning av strängen genom att använda funktionen typewrite(). skicka bara strängen som du vill skriva som ett argument för denna funktion. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Anta att ett textfält fanns på koordinaterna 100 100 på skärmen så kommer den här koden att klicka på textfältet för att göra det aktivt och skriva hej Geeks! i den. 
 

    Skicka nyckelnamn: Du kan skicka nyckelnamn separat genom funktionen typewrite(). 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Den här koden är den automatiska motsvarigheten till att skriva "a" genom att trycka på vänster piltangent och trycka på vänster kontrollknapp. 
 

    Att trycka på snabbtangentskombinationer: Använd snabbtangent()-funktionen för att trycka på kombinationen av tangenter som ctrl-c ctrl-a etc.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Denna kod är den automatiska motsvarigheten till att trycka på vänster ctrl och 'a' samtidigt. Så i Windows kommer detta att resultera i val av all text som finns på skärmen.

Exempel:

Att skicka ett meddelande i WhatsApp och radera det för alla automatiskt. Du måste ha Whatsapp redan öppnat i chrome för att köra detta. Efter att ha kört den här koden öppnar du WhatsApp-fliken i krom.

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   

 

Skapa frågesport