Egér és billentyűzet automatizálás Python segítségével

Egér és billentyűzet automatizálás Python segítségével

Ez a cikk bemutatja, hogyan automatizálható az egér és a billentyűzet mozgása pyautogui modul pythonban. Ebben a modulban nincs előre telepítve a python. Tehát a telepítéshez futtassa a következő parancsot: 
 

 pip3 install pyautogui 


 

Az egér mozgásának vezérlése pyautogui modullal


A Python a képernyő koordinátarendszerének segítségével követi és vezérli az egeret. Tegyük fel, hogy a képernyő felbontása 1920x1080, akkor a képernyő koordinátarendszere így néz ki: 
 

gui a pythonban


 

    méret(): Ez a funkció a képernyő felbontásának beállítására szolgál.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Mentse el ezt a fájlt .py kiterjesztéssel, majd futtassa a fájlt. 
Ez a python kód a size() függvényt használja a képernyő felbontásának x y formátumban történő megjelenítéséhez: 
Kimenet: 
 

 (1920 1080) 


Megjegyzés: Előfordulhat, hogy a cikkben szereplő kódok némelyike ​​nem fut a geeksforgeeks IDE-n, mivel a geeksforgeeks IDE nem rendelkezik a szükséges modulokkal ezeknek a kódoknak a futtatásához. De ezek a kódok egyszerűen futtathatók helyileg a számítógépen a python telepítésével és a cikkben található utasítások követésével. 
 

    mozgatni(): Ezzel a funkcióval mozgathatja az egeret a pyautogui modulban. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Ez a kód a moveTo() függvényt használja, amely x és y koordinátákat és egy opcionális időtartam argumentumot vesz fel. Ez a függvény az egérmutatót az aktuális helyéről x y koordinátára mozgatja, és ehhez az időtartam argumentum által meghatározott időre van szükség. Mentse és futtassa ezt a python-szkriptet, hogy lássa, az egérmutató varázslatosan mozog jelenlegi helyéről a koordináták felé (100 100), amely 1 másodpercig tart ebben a folyamatban. 
 

    moveRel() függvény: mozgatja az egérmutatót az előző pozíciójához képest. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Ez a kód az egérmutatót a (0 50) helyre mozgatja az eredeti helyzetéhez képest. Például, ha az egér pozíciója a kód futtatása előtt (1000 1000) volt, akkor ez a kód 1 másodpercen belül a mutatót a koordinátákra (1000 1050) mozgatja. 
 

    pozíció(): függvény az egérmutató aktuális pozíciójának meghatározásához. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Kimenet: azok a koordináták, ahol az egér a program végrehajtása idején volt. 
 

    kattints(): Az egér kattintására és húzására szolgáló funkció. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Ez a kód egy tipikus egérkattintást hajt végre a helyen (100 100). 
Az egér húzási műveletéhez két funkciónk van dragTo és dragRel . Hasonlóan teljesítenek, mint a moveTo és a moveRel funkciók, azzal a különbséggel, hogy mozgás közben lenyomva tartják az egér bal gombját, így húzást kezdeményeznek. 
Ez a funkció különféle helyeken használható, például párbeszédpanel mozgatása vagy valami automatikus rajzolása egy ceruzaeszközzel az MS Paint programban. Négyzet rajzolása festékkel: 
 

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  )   


A kód futtatása előtt nyissa meg az MS paint alkalmazást a háttérben a kiválasztott ceruzaeszközzel. Most futtassa a kódot gyorsan, és váltson át MS paintre 10 másodperc előtt (mivel a program futtatása előtt 10 másodperces szünetet adtunk a sleep() függvény segítségével). 
10 másodperc múlva egy négyzetet fog látni MS festékkel, amelynek bal felső széle 1000 1000, az él hossza pedig 100 pixel.

    scroll(): scroll funkciót vesz nem. pixelek száma argumentumként, és görgeti a képernyőt egy adott számú képpontig.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Ez a kód 200 pixelig görgeti az aktív képernyőt. 
 

    írógéppel ír(): Automatizálhatja a karakterlánc beírását a typewrite() függvény használatával. csak adja át a beírni kívánt karakterláncot a függvény argumentumaként. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Tegyük fel, hogy egy szövegmező jelen volt a 100 100 koordinátákon a képernyőn, akkor ez a kód rákattint a szövegmezőre, hogy aktiválja azt, és beírja, hogy hello Geeks! benne. 
 

    Kulcsnevek átadása: A billentyűneveket külön is átadhatja a typewrite() függvényen keresztül. 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Ez a kód az „a” beírásának a bal nyílbillentyű és a bal vezérlőgomb megnyomásával történő automatikus megfelelője. 
 

    Gyorsbillentyűkombinációk megnyomása: Használja a hotkey() funkciót a billentyűkombináció megnyomására, például ctrl-c ctrl-a stb.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Ez a kód a bal oldali ctrl és az „a” egyidejű lenyomásának automatikus megfelelője. Így az ablakokban ez a képernyőn megjelenő összes szöveg kijelölését eredményezi.

Példa:

Üzenet küldése a WhatsApp alkalmazásban, és mindenki számára automatikusan törölje. Ennek futtatásához meg kell nyitnia a Whatsappot Chrome-ban. A kód futtatása után nyissa meg a WhatsApp lapot a Chrome-on.

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   

 

Kvíz létrehozása