Peles un tastatūras automatizācija, izmantojot Python

Peles un tastatūras automatizācija, izmantojot Python

Šis raksts parāda, kā automatizēt peles un tastatūras kustības, izmantojot pyautogui modulis python. Šis modulis nav iepriekš ielādēts ar python. Tātad, lai to instalētu, izpildiet šādu komandu: 
 

 pip3 install pyautogui 


 

Peles kustību kontrole, izmantojot pyautogui moduli


Python izseko un kontrolē peli, izmantojot ekrāna koordinātu sistēmu. Pieņemsim, ka jūsu ekrāna izšķirtspēja ir 1920x1080, tad ekrāna koordinātu sistēma izskatās šādi: 
 

gui pitonā


 

    izmērs (): Šī funkcija tiek izmantota, lai iegūtu ekrāna izšķirtspēju.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Saglabājiet šo failu ar paplašinājumu .py un pēc tam palaidiet failu. 
Šis python kods izmanto izmēru() funkciju, lai izvadītu ekrāna izšķirtspēju x y formātā: 
Izvade: 
 

 (1920 1080) 


Piezīme. Daži no šajā rakstā sniegtajiem kodiem var nedarboties geeksforgeeks IDE, jo geeksforgeeks IDE nav nepieciešamo moduļu šo kodu palaišanai. Taču šos kodus var viegli palaist lokāli datorā, instalējot python un izpildot rakstā sniegtos norādījumus. 
 

    pārvietot uz(): izmantojiet šo funkciju, lai pārvietotu peli pyautogui modulī. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Šis kods izmanto funkciju moveTo(), kas ņem x un y koordinātas un izvēles ilguma argumentu. Šī funkcija pārvieto peles rādītāju no pašreizējās atrašanās vietas uz x y koordinātu, un tas prasa laiku, ko nosaka ilguma arguments. Saglabājiet un palaidiet šo Python skriptu, lai redzētu, kā peles kursors maģiski pārvietojas no pašreizējās atrašanās vietas uz koordinātām (100 100), kas šajā procesā aizņem 1 sekundi. 
 

    MoveRel() funkcija: pārvieto peles rādītāju attiecībā pret iepriekšējo pozīciju. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Šis kods pārvietos peles rādītāju uz (0 50) attiecībā pret sākotnējo pozīciju. Piemēram, ja peles pozīcija pirms koda palaišanas bija (1000 1000), šis kods pārvietos rādītāju uz koordinātām (1000 1050) 1 sekundes laikā. 
 

    pozīcija (): funkcija, lai iegūtu peles rādītāja pašreizējo pozīciju. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Izvade: koordinātas, kur programmas izpildes laikā atradās pele. 
 

    noklikšķiniet (): Funkcija, ko izmanto peles noklikšķināšanai un vilkšanai. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Šis kods veic tipisku peles klikšķi atrašanās vietā (100 100). 
Mums ir divas funkcijas, kas saistītas ar peles vilkšanas darbību dragTo and dragRel . Tie darbojas līdzīgi kā MoveTo un MoveRel funkcijas, izņemot to, ka pārvietojas turot kreiso peles pogu, tādējādi uzsākot vilkšanu. 
Šo funkcionalitāti var izmantot dažādās vietās, piemēram, pārvietojot dialoglodziņu vai zīmējot kaut ko automātiski, izmantojot zīmuļa rīku programmā MS Paint. Lai uzzīmētu kvadrātu krāsā: 
 

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  )   


Pirms koda palaišanas atveriet MS paint fonā ar atlasīto zīmuļa rīku. Tagad palaidiet kodu ātri pārslēdzieties uz MS paint pirms 10 sekundēm (jo pirms programmas palaišanas, izmantojot funkciju miega () esam devuši 10 sekunžu pauzes laiku). 
Pēc 10 sekundēm jūs redzēsiet kvadrātu, kas tiek uzzīmēts ar MS paint, kura augšējā kreisā mala ir 1000 1000 un malas garums ir 100 pikseļi.

    scroll (): ritināšanas funkcija aizņem nē. pikseļu kā argumentu un ritina ekrānu līdz noteiktam pikseļu skaitam.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Šis kods ritina aktīvo ekrānu līdz 200 pikseļiem. 
 

    rakstāmmašīna (): Jūs varat automatizēt virknes ierakstīšanu, izmantojot rakstāmmašīnas () funkciju. vienkārši nododiet virkni, kuru vēlaties ierakstīt kā šīs funkcijas argumentu. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Pieņemsim, ka ekrānā pie koordinātām 100 100 ir teksta lauks, tad šis kods noklikšķinās uz teksta lauka, lai to aktivizētu, un ierakstīs hello Geeks! tajā. 
 

    Atslēgu nosaukumu nodošana: Atslēgu nosaukumus var nodot atsevišķi, izmantojot rakstāmmašīnas () funkciju. 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Šis kods ir automātisks ekvivalents “a” rakstīšanai, nospiežot kreiso bulttaustiņu un nospiežot kreiso vadības taustiņu. 
 

    Nospiežot karsto taustiņu kombinācijas: Izmantojiet funkciju Hotkey(), lai nospiestu taustiņu kombināciju, piemēram, ctrl-c ctrl-a utt.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Šis kods ir automātisks ekvivalents kreiso taustiņu ctrl un “a” vienlaicīgai nospiešanai. Tādējādi Windows tā rezultātā tiks atlasīts viss ekrānā esošais teksts.

Piemērs:

Lai nosūtītu ziņojumu WhatsApp un automātiski izdzēstu to visiem. Lai to palaistu, Whatsapp jau ir jāatver pārlūkā Chrome. Pēc šī koda palaišanas pārlūkā Chrome atveriet cilni WhatsApp.

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   

 

Izveidojiet viktorīnu