Avtomatizacija miške in tipkovnice z uporabo Pythona

Avtomatizacija miške in tipkovnice z uporabo Pythona

Ta članek ponazarja, kako avtomatizirati premike miške in tipkovnice pyautogui modul v pythonu. V tem modulu ni vnaprej naložen python. Če ga želite namestiti, zaženite naslednji ukaz: 
 

 pip3 install pyautogui 


 

Nadzor premikov miške z modulom pyautogui


Python sledi in krmili miško s pomočjo koordinatnega sistema zaslona. Recimo, da je ločljivost vašega zaslona 1920X1080, potem je koordinatni sistem vašega zaslona videti takole: 
 

gui v pythonu


 

    velikost(): Ta funkcija se uporablja za pridobivanje ločljivosti zaslona.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Shranite to datoteko s pripono .py in jo nato zaženite. 
Ta koda python uporablja funkcijo size() za izpis vaše ločljivosti zaslona v formatu x y: 
Izhod: 
 

 (1920 1080) 


Opomba: nekatere kode, navedene v tem članku, se morda ne bodo izvajale v geeksforgeeks IDE, ker geeksforgeeks IDE nima potrebnih modulov za izvajanje teh kod. Toda te kode je mogoče preprosto zagnati lokalno na vašem računalniku, tako da namestite python in sledite navodilom v članku. 
 

    premakni(): uporabite to funkcijo za premikanje miške v modulu pyautogui. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Ta koda uporablja funkcijo moveTo(), ki vzame koordinate x in y ter izbirni argument trajanja. Ta funkcija premakne kazalec miške s trenutne lokacije na koordinato x y in za to potrebuje čas, ki ga določa argument trajanja. Shranite in zaženite ta skript python, da vidite, kako se kazalec miške čudežno premakne s trenutne lokacije na koordinate (100 100), pri čemer ta postopek traja 1 sekundo. 
 

    funkcija moveRel(): premakne kazalec miške glede na prejšnji položaj. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Ta koda bo premaknila kazalec miške na (0 50) glede na prvotni položaj. Na primer, če je bil položaj miške pred zagonom kode (1000 1000), bo ta koda premaknila kazalec na koordinate (1000 1050) v trajanju 1 sekunde. 
 

    položaj(): funkcijo za pridobitev trenutnega položaja kazalca miške. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Izhod: koordinate, kje je bila vaša miška v času izvajanja programa. 
 

    klik(): Funkcija, ki se uporablja za klikanje in vlečenje miške. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Ta koda izvede tipičen klik miške na lokaciji (100 100). 
Imamo dve funkciji, povezani z operacijo vlečenja miške povleciNa in povleciRel . Delujejo podobno kot funkciji moveTo in moveRel, le da med premikanjem držijo levi gumb miške in tako sprožijo vlečenje. 
To funkcijo je mogoče uporabiti na različnih mestih, kot je premikanje pogovornega okna ali samodejno risanje nečesa s svinčnikom v programu MS Paint. Če želite narisati kvadrat v barvi: 
 

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  )   


Preden zaženete kodo, odprite MS paint v ozadju z izbranim orodjem za svinčnik. Zdaj zaženite kodo in hitro preklopite na MS paint pred 10 sekundami (ker smo pred zagonom programa dali 10-sekundni premor s funkcijo spanja()). 
Po 10 sekundah boste videli kvadrat, narisan v barvi MS, z zgornjim levim robom na 1000 1000 in dolžino roba 100 slikovnih pik.

    pomik(): funkcija drsenja traja št. slikovnih pik kot argument in se pomakne po zaslonu do danega števila slikovnih pik.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Ta koda premika aktivni zaslon do 200 slikovnih pik. 
 

    tipkati(): Vnašanje niza lahko avtomatizirate s funkcijo typewrite(). samo posredujte niz, ki ga želite vnesti kot argument te funkcije. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Recimo, da je bilo besedilno polje prisotno na koordinatah 100 100 na zaslonu, potem bo ta koda kliknila besedilno polje, da bo postalo aktivno, in vnesla hello Geeks! v njej. 
 

    Posredovanje imen ključev: Imena ključev lahko posredujete ločeno prek funkcije typewrite(). 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Ta koda je samodejni ekvivalent vnosa 'a' s pritiskom na levo puščično tipko in pritiskom na levo krmilno tipko. 
 

    Pritisk kombinacij bližnjičnih tipk: Uporabite funkcijo hotkey(), da pritisnete kombinacijo tipk, kot je ctrl-c ctrl-a itd.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Ta koda je samodejni ekvivalent istočasnemu pritisku levega ctrl in 'a'. Tako bo v oknih to imelo za posledico izbor celotnega besedila na zaslonu.

primer:

Če želite poslati sporočilo v WhatsApp in ga samodejno izbrisati za vse. Če želite to zagnati, morate imeti Whatsapp že odprt v Chromu. Ko zaženete to kodo, odprite zavihek WhatsApp v Chromu.

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   

 

Ustvari kviz