Pelės ir klaviatūros automatizavimas naudojant Python
Šiame straipsnyje parodyta, kaip automatizuoti pelės ir klaviatūros judesius naudojant pyautogui modulis python. Šis modulis nėra iš anksto įkeltas su python. Taigi, norėdami jį įdiegti, paleiskite šią komandą:
pip3 install pyautogui
Pelės judesių valdymas naudojant pyautogui modulį
Python seka ir valdo pelę naudodamas ekrano koordinačių sistemą. Tarkime, kad ekrano skiriamoji geba yra 1920x1080, tada ekrano koordinačių sistema atrodo taip:
Python
import pyautogui print ( pyautogui . size ())
Išsaugokite šį failą su plėtiniu .py ir paleiskite failą.
Šis python kodas naudoja funkciją size(), kad ekrano skiriamoji geba būtų rodoma x y formatu:
Išvestis:
(1920 1080)
Pastaba: kai kurie šiame straipsnyje pateikti kodai gali neveikti geeksforgeeks IDE, nes geeksforgeeks IDE neturi reikiamų modulių šiems kodams paleisti. Tačiau šiuos kodus galima lengvai paleisti vietoje kompiuteryje įdiegus python ir vadovaujantis straipsnyje pateiktomis instrukcijomis.
Python
import pyautogui pyautogui . moveTo ( 100 100 duration = 1 )
Šiame kode naudojama funkcija moveTo(), kuri paima x ir y koordinates ir pasirenkamą trukmės argumentą. Ši funkcija perkelia pelės žymeklį iš dabartinės vietos į x y koordinatę ir tam reikia laiko, nurodyto trukmės argumentu. Išsaugokite ir paleiskite šį python scenarijų, kad pamatytumėte, kaip jūsų pelės žymeklis stebuklingai juda iš dabartinės vietos į koordinates (100 100), kuri trunka 1 sekundę.
Python
import pyautogui pyautogui . moveRel ( 0 50 duration = 1 )
Šis kodas perkels pelės žymeklį į (0 50), palyginti su pradine padėtimi. Pavyzdžiui, jei pelės padėtis prieš paleidžiant kodą buvo (1000 1000), šis kodas per 1 sekundę perkels žymeklį į koordinates (1000 1050).
Python
import pyautogui print ( pyautogui . position ())
Išvestis: koordinatės, kur buvo jūsų pelė programos vykdymo metu.
Python
import pyautogui pyautogui . click ( 100 100 )
Šis kodas atlieka tipišką pelės paspaudimą vietoje (100 100).
Turime dvi funkcijas, susijusias su pelės vilkimo operacija dragTo ir dragRel . Jie atlieka panašias funkcijas kaip „moveTo“ ir „moveRel“, išskyrus tuos atvejus, kai judėdami laiko kairįjį pelės mygtuką, taip inicijuodami vilkimą.
Šią funkciją galima naudoti įvairiose vietose, pavyzdžiui, perkeliant dialogo langą arba automatiškai piešiant ką nors naudojant pieštuko įrankį programoje MS Paint. Norėdami piešti kvadratą dažais:
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 )
Prieš paleisdami kodą atidarykite MS paint fone su pasirinktu pieštuko įrankiu. Dabar paleiskite kodą greitai perjunkite į MS paint prieš 10 sekundžių (nes prieš paleisdami programą suteikėme 10 sekundžių pauzės laiką naudodami funkciją "Sleep()").
Po 10 sekundžių pamatysite MS dažais nupieštą kvadratą, kurio viršutinis kairysis kraštas yra 1000 1000, o krašto ilgis – 100 pikselių.
Python
import pyautogui pyautogui . scroll ( 200 )
Šis kodas slenka aktyvų ekraną iki 200 pikselių.
Python
import pyautogui pyautogui . click ( 100 100 ) pyautogui . typewrite ( 'hello Geeks !' )
Tarkime, kad ekrane yra teksto laukas, kurio koordinatės yra 100 100, tada šis kodas spustelėja teksto lauką, kad jis būtų aktyvus, ir įves „hello Geeks“! joje.
Python
import pyautogui pyautogui . typewrite ([ 'a' 'left' 'ctrlleft' ])
Šis kodas yra automatinis „a“ įvedimo paspaudus kairįjį rodyklės klavišą ir kairįjį valdymo klavišą atitikmuo.
Python
import pyautogui pyautogui . hotkey ( 'ctrlleft' 'a' )
Šis kodas yra automatinis atitikmuo vienu metu paspaudus kairįjį ctrl ir „a“. Taigi languose bus pasirinktas visas ekrane esantis tekstas.
Pavyzdys:
Norėdami išsiųsti pranešimą „WhatsApp“ ir automatiškai ištrinti jį visiems. Kad tai paleistumėte, „Whatsapp“ jau turi būti atidarytas „Chrome“. Paleidę šį kodą atidarykite „WhatsApp“ skirtuką „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
Sukurti viktoriną