Mus- og tastaturautomatisering ved hjælp af Python
Denne artikel illustrerer, hvordan man automatiserer bevægelser af mus og tastatur ved hjælp af pyautogui modul i python. Dette modul er ikke forudindlæst med python. Så for at installere det skal du køre følgende kommando:
pip3 install pyautogui
Styring af musebevægelser ved hjælp af pyautogui-modul
Python sporer og styrer musen ved hjælp af skærmens koordinatsystem. Antag, at opløsningen på din skærm er 1920X1080, så ser din skærms koordinatsystem således ud:
Python
import pyautogui print ( pyautogui . size ())
Gem denne fil med filtypenavnet .py, og kør derefter filen.
Denne python-kode bruger funktionen størrelse() til at udlæse din skærmopløsning i x y-format:
Produktion:
(1920 1080)
Bemærk: Nogle af koderne i denne artikel kører muligvis ikke på geeksforgeeks IDE, da geeksforgeeks IDE ikke har de nødvendige moduler til at køre disse koder. Men disse koder kan nemt køres lokalt på din pc ved at installere python og følge instruktionerne i artiklen.
Python
import pyautogui pyautogui . moveTo ( 100 100 duration = 1 )
Denne kode bruger funktionen moveTo() som tager x- og y-koordinater og et valgfrit varighedsargument. Denne funktion flytter din musemarkør fra dens aktuelle placering til x y-koordinat og tager tid som angivet af varighedsargumentet at gøre det. Gem og kør dette python-script for at se din musemarkør på magisk vis bevæge sig fra dens nuværende placering til koordinater (100 100), hvilket tager 1 sekund i denne proces.
Python
import pyautogui pyautogui . moveRel ( 0 50 duration = 1 )
Denne kode vil flytte musemarkøren til (0 50) i forhold til dens oprindelige position. Hvis f.eks. musepositionen før kørsel af koden var (1000 1000), vil denne kode flytte markøren til koordinater (1000 1050) i 1 sekunds varighed.
Python
import pyautogui print ( pyautogui . position ())
Output: koordinerer, hvor din mus befandt sig på tidspunktet for udførelse af programmet.
Python
import pyautogui pyautogui . click ( 100 100 )
Denne kode udfører et typisk museklik på stedet (100 100).
Vi har to funktioner forbundet med træk-operationen af musen trækTil og trækRel . De udfører lignende funktioner som moveTo og moveRel, bortset fra at de holder venstre museknap nede, mens de flytter, og derved starter et træk.
Denne funktionalitet kan bruges forskellige steder som at flytte en dialogboks eller tegne noget automatisk ved hjælp af et blyantværktøj i MS Paint. Sådan tegner du en firkant i maling:
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 )
Før du kører koden, skal du åbne MS paint i baggrunden med blyantværktøjet valgt. Kør nu koden hurtigt og skift til MS paint inden 10 sekunder (da vi har givet 10 sekunders pausetid ved hjælp af sleep()-funktionen, før vi kører programmet).
Efter 10 sekunder vil du se en firkant blive tegnet i MS paint med dens øverste venstre kant på 1000 1000 og kantlængden 100 pixels.
Python
import pyautogui pyautogui . scroll ( 200 )
Denne kode ruller den aktive skærm op til 200 pixels.
Python
import pyautogui pyautogui . click ( 100 100 ) pyautogui . typewrite ( 'hello Geeks !' )
Antag, at et tekstfelt var til stede ved koordinaterne 100 100 på skærmen, så vil denne kode klikke på tekstfeltet for at gøre det aktivt og skrive hej Nørder! i den.
Python
import pyautogui pyautogui . typewrite ([ 'a' 'left' 'ctrlleft' ])
Denne kode svarer automatisk til at skrive 'a' ved at trykke på venstre piletast og trykke på venstre kontroltast.
Python
import pyautogui pyautogui . hotkey ( 'ctrlleft' 'a' )
Denne kode svarer automatisk til at trykke på venstre ctrl og 'a' samtidigt. I Windows vil dette således resultere i valg af al tekst på skærmen.
Eksempel:
For at sende en besked i WhatsApp og slette den for alle automatisk. Du skal have Whatsapp allerede åbnet i chrome for at køre dette. Når du har kørt denne kode, skal du åbne WhatsApp-fanen på chrome.
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
Opret quiz