Hiiren ja näppäimistön automaatio Pythonilla

Hiiren ja näppäimistön automaatio Pythonilla

Tämä artikkeli havainnollistaa, kuinka hiiren ja näppäimistön liikkeet automatisoidaan käyttämällä pyautogui moduuli pythonissa. Tämä moduuli ei ole esiladattu pythonilla. Joten asenna se suorittamalla seuraava komento: 
 

 pip3 install pyautogui 


 

Hiiren liikkeiden hallinta pyautogui-moduulilla


Python seuraa ja ohjaa hiirtä näytön koordinaattijärjestelmän avulla. Oletetaan, että näytön resoluutio on 1920X1080, jolloin näytön koordinaattijärjestelmä näyttää tältä: 
 

gui pythonissa


 

    koko(): Tätä toimintoa käytetään näytön resoluution saamiseksi.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Tallenna tämä tiedosto .py-tunnisteella ja suorita tiedosto sitten. 
Tämä python-koodi käyttää size()-funktiota näytön resoluution tulostamiseen x y -muodossa: 
Lähtö: 
 

 (1920 1080) 


Huomautus: Jotkut tässä artikkelissa esitetyistä koodeista eivät välttämättä toimi geeksforgeeks IDE:ssä, koska geeksforgeeks IDE:ssä ei ole tarvittavia moduuleja näiden koodien suorittamiseen. Mutta nämä koodit voidaan helposti ajaa paikallisesti tietokoneellasi asentamalla python ja noudattamalla artikkelin ohjeita. 
 

    liikkua(): Käytä tätä toimintoa hiiren siirtämiseen pyautogui-moduulissa. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Tämä koodi käyttää moveTo()-funktiota, joka ottaa x- ja y-koordinaatit sekä valinnaisen kestoargumentin. Tämä toiminto siirtää hiiren osoittimen nykyisestä sijainnistaan ​​x y -koordinaattiin ja kestää kestoargumentin määrittämän ajan. Tallenna ja suorita tämä python-skripti nähdäksesi hiiren osoittimen siirtyvän maagisesti nykyisestä sijainnistaan ​​koordinaatteihin (100 100), joka kestää 1 sekunnin tässä prosessissa. 
 

    moveRel()-funktio: siirtää hiiren osoitinta edelliseen sijaintiinsa nähden. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Tämä koodi siirtää hiiren osoittimen kohtaan (0 50) suhteessa sen alkuperäiseen sijaintiin. Esimerkiksi jos hiiren sijainti ennen koodin suorittamista oli (1000 1000), tämä koodi siirtää osoittimen koordinaatteihin (1000 1050) 1 sekunnin ajan. 
 

    sijainti(): toiminto määrittää hiiren osoittimen nykyisen sijainnin. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Lähtö: koordinaatit, joissa hiiri oli ohjelman suoritushetkellä. 
 

    klikkaa (): Toiminto, jota käytetään hiiren napsautukseen ja vetämiseen. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Tämä koodi suorittaa tyypillisen hiiren napsautuksen paikassa (100 100). 
Meillä on kaksi toimintoa, jotka liittyvät hiiren vetämiseen dragTo ja dragRel . Ne suorittavat samanlaisia ​​toimintoja kuin MoveTo ja MoveRel, paitsi että ne pitävät hiiren vasenta painiketta painettuna liikkuessaan käynnistäen siten vetämisen. 
Tätä toimintoa voidaan käyttää useissa paikoissa, kuten valintaikkunan siirtämisessä tai piirtämisessä automaattisesti kynätyökalulla MS Paintissa. Neliön piirtäminen maaliin: 
 

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  )   


Ennen koodin suorittamista avaa MS paint taustalla kynätyökalulla valittuna. Suorita nyt koodi nopeasti vaihtaa MS paintiin ennen 10 sekuntia (koska olemme antaneet 10 sekunnin taukoajan sleep()-funktiolla ennen ohjelman suorittamista). 
10 sekunnin kuluttua näet MS-maalilla piirretyn neliön, jonka vasen yläreuna on 1000 1000 ja reunan pituus 100 pikseliä.

    scroll(): vieritystoiminto ei vie mitään. pikseleitä argumenttina ja vierittää näyttöä tiettyyn pikselien määrään.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Tämä koodi vierittää aktiivista näyttöä 200 pikseliin asti. 
 

    kirjoituskone(): Voit automatisoida merkkijonon kirjoittamisen käyttämällä typewrite()-funktiota. välitä vain merkkijono, jonka haluat kirjoittaa tämän funktion argumentiksi. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Oletetaan, että tekstikenttä oli näytöllä koordinaateissa 100 100, niin tämä koodi napsauttaa tekstikenttää aktivoidakseen sen ja kirjoittaa hello Geeks! siinä. 
 

    Avainten nimet: Voit välittää avainten nimet erikseen kirjoituskone()-funktiolla. 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Tämä koodi vastaa automaattisesti 'a':n kirjoittamista painamalla vasenta nuolinäppäintä ja painamalla vasenta ohjausnäppäintä. 
 

    Pikanäppäinyhdistelmien painaminen: Käytä hotkey()-toimintoa painaaksesi näppäinyhdistelmää, kuten ctrl-c ctrl-a jne.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Tämä koodi vastaa automaattisesti vasemman ctrl- ja a-näppäimen painamista samanaikaisesti. Siten ikkunoissa tämä johtaa kaiken näytöllä olevan tekstin valintaan.

Esimerkki:

Viestin lähettäminen WhatsAppissa ja poistaminen kaikilta automaattisesti. Whatsappin on oltava jo avattu kromissa, jotta voit suorittaa tämän. Kun olet suorittanut tämän koodin, avaa WhatsApp-välilehti Chromessa.

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   

 

Luo tietokilpailu