Automatització de ratolí i teclat amb Python

Automatització de ratolí i teclat amb Python

Aquest article il·lustra com automatitzar els moviments del ratolí i el teclat pyautogui mòdul en python. Aquest mòdul no està precarregat amb Python. Per tant, per instal·lar-lo, executeu la següent comanda: 
 

 pip3 install pyautogui 


 

Control dels moviments del ratolí mitjançant el mòdul pyautogui


Python rastreja i controla el ratolí mitjançant el sistema de coordenades de la pantalla. Suposem que la resolució de la pantalla és de 1920 x 1080, aleshores el sistema de coordenades de la pantalla té aquest aspecte: 
 

gui en python


 

    mida (): Aquesta funció s'utilitza per obtenir la resolució de pantalla.
     
Python
   import   pyautogui   print  (  pyautogui  .  size  ())   


Deseu aquest fitxer amb l'extensió .py i, a continuació, executeu-lo. 
Aquest codi de Python utilitza la funció size() per produir la resolució de la pantalla en format x y: 
Sortida: 
 

 (1920 1080) 


Nota: és possible que alguns dels codis proporcionats en aquest article no s'executin a l'IDE geeksforgeeks, ja que l'IDE geeksforgeeks no té els mòduls necessaris per executar aquests codis. Però aquests codis es poden executar fàcilment localment al vostre ordinador instal·lant Python i seguint les instruccions proporcionades a l'article. 
 

    moveTo(): utilitzeu aquesta funció per moure el ratolí al mòdul pyautogui. 
     
Python
   import   pyautogui   pyautogui  .  moveTo  (  100     100     duration   =   1  )   


Aquest codi utilitza la funció moveTo() que pren les coordenades x i y i un argument de durada opcional. Aquesta funció mou el punter del ratolí des de la seva ubicació actual a la coordenada x y i triga el temps especificat per l'argument de durada per fer-ho. Deseu i executeu aquest script Python per veure que el punter del ratolí es mou màgicament des de la seva ubicació actual fins a les coordenades (100 100) trigant 1 segon en aquest procés. 
 

    funció moveRel(): mou el punter del ratolí en relació a la seva posició anterior. 
     
Python
   import   pyautogui   pyautogui  .  moveRel  (  0     50     duration   =   1  )   


Aquest codi mourà el punter del ratolí a (0 50) en relació a la seva posició original. Per exemple, si la posició del ratolí abans d'executar el codi era (1000 1000), aquest codi mourà el punter a les coordenades (1000 1050) amb una durada d'1 segon. 
 

    posició (): funció per obtenir la posició actual del punter del ratolí. 
     
Python
   import   pyautogui   print  (  pyautogui  .  position  ())   


Sortida: coordenades on residia el ratolí en el moment d'executar el programa. 
 

    feu clic (): Funció utilitzada per fer clic i arrossegar el ratolí. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   


Aquest codi fa un clic típic del ratolí a la ubicació (100 100). 
Tenim dues funcions associades a l'operació d'arrossegament del ratolí arrossegarTo i arrossegarRel . Realitzen funcions similars a moveTo i moveRel, excepte que mantenen premut el botó esquerre del ratolí mentre es mouen, iniciant així un arrossegament. 
Aquesta funcionalitat es pot utilitzar en diversos llocs com moure un quadre de diàleg o dibuixar alguna cosa automàticament mitjançant una eina de llapis a MS Paint. Per dibuixar un quadrat amb pintura: 
 

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  )   


Abans d'executar el codi, obriu MS paint en segon pla amb l'eina llapis seleccionada. Ara executeu el codi ràpidament, canvieu a MS paint abans de 10 segons (ja que hem donat un temps de pausa de 10 segons utilitzant la funció sleep() abans d'executar el programa). 
Després de 10 segons, veureu un quadrat dibuixat amb pintura MS amb la seva vora superior esquerra a 1000 1000 i una longitud de vora 100 píxels.

    scroll(): la funció de desplaçament pren no. de píxels com a argument i desplaça la pantalla fins a un nombre determinat de píxels.
     
Python
   import   pyautogui   pyautogui  .  scroll  (  200  )   


Aquest codi desplaça la pantalla activa fins a 200 píxels. 
 

    escriure a màquina(): Podeu automatitzar l'escriptura de la cadena utilitzant la funció typewrite(). només cal passar la cadena que voleu escriure com a argument d'aquesta funció. 
     
Python
   import   pyautogui   pyautogui  .  click  (  100     100  )   pyautogui  .  typewrite  (  'hello Geeks !'  )   


Suposem que hi havia un camp de text a les coordenades 100 100 a la pantalla, llavors aquest codi farà clic al camp de text per activar-lo i escriu hola Geeks! en ell. 
 

    Passant noms de claus: Podeu passar noms de clau per separat mitjançant la funció typewrite(). 
     
Python
   import   pyautogui   pyautogui  .  typewrite  ([  'a'     'left'     'ctrlleft'  ])   


Aquest codi és l'equivalent automàtic a escriure 'a' prement la tecla de fletxa esquerra i prement la tecla de control esquerra. 
 

    Prement les combinacions de tecles d'accés directe: Utilitzeu la funció Hotkey() per prémer la combinació de tecles com ctrl-c ctrl-a, etc.
     
Python
   import   pyautogui   pyautogui  .  hotkey  (  'ctrlleft'     'a'  )   


Aquest codi és l'equivalent automàtic de prémer ctrl esquerre i 'a' simultàniament. Així, a les finestres, això donarà lloc a la selecció de tot el text present a la pantalla.

Exemple:

Per enviar un missatge a WhatsApp i eliminar-lo automàticament per a tothom. Heu de tenir Whatsapp ja obert a Chrome per executar-ho. Després d'executar aquest codi, obriu la pestanya WhatsApp a 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   

 

Crea un qüestionari