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:
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.
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.
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.
Python
import pyautogui print ( pyautogui . position ())
Kimenet: azok a koordináták, ahol az egér a program végrehajtása idején volt.
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:
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.
Python
import pyautogui pyautogui . scroll ( 200 )
Ez a kód 200 pixelig görgeti az aktív képernyőt.
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.
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.
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