logo

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: 
 

mitä eroa on megatavulla ja gigatavulla
 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' src='//techcodeview.com/img/python/69/mouse-and-keyboard-automation-using-python.webp' title=


 

    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. 
 

määritellä tietokone
    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.

linux joka komento

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