logo

Automatisation de la souris et du clavier à l'aide de Python

Cet article illustre comment automatiser les mouvements de la souris et du clavier à l'aide de pyautogui module en python. Ce module n'est pas préchargé avec python. Donc pour l'installer, exécutez la commande suivante : 
 

Test de performance
 pip3 install pyautogui


 

Contrôler les mouvements de la souris à l'aide du module pyautogui




Python suit et contrôle la souris en utilisant le système de coordonnées de l'écran. Supposons que la résolution de votre écran soit de 1920X1080, le système de coordonnées de votre écran ressemble à ceci : 
 

interface graphique en python' src='//techcodeview.com/img/python/69/mouse-and-keyboard-automation-using-python.webp' title=


 

    taille():Cette fonction est utilisée pour obtenir la résolution de l'écran.
     
Python
import pyautogui print(pyautogui.size()) 


Enregistrez ce fichier avec l'extension .py, puis exécutez le fichier. 
Ce code python utilise la fonction size() pour afficher la résolution de votre écran au format x y : 
Sortir: 
 

 (1920 1080)


Remarque : Certains des codes fournis dans cet article peuvent ne pas fonctionner sur l'IDE geeksforgeeks, car l'IDE geeksforgeeks ne dispose pas des modules requis pour exécuter ces codes. Mais ces codes peuvent être facilement exécutés localement sur votre PC en installant Python et en suivant les instructions fournies dans l'article. 
 

    moveTo() :utilisez cette fonction pour déplacer la souris dans le module pyautogui. 
     
Python
import pyautogui pyautogui.moveTo(100 100 duration = 1) 


Ce code utilise la fonction moveTo() qui prend les coordonnées x et y et un argument de durée facultatif. Cette fonction déplace le pointeur de votre souris de son emplacement actuel vers la coordonnée x y et prend le temps spécifié par l'argument de durée pour le faire. Enregistrez et exécutez ce script python pour voir le pointeur de votre souris se déplacer comme par magie de son emplacement actuel aux coordonnées (100 100) en 1 seconde dans ce processus. 
 

    Fonction moveRel() :déplace le pointeur de la souris par rapport à sa position précédente. 
     
Python
import pyautogui pyautogui.moveRel(0 50 duration = 1) 


Ce code déplacera le pointeur de la souris à (0 50) par rapport à sa position d'origine. Par exemple, si la position de la souris avant d'exécuter le code était (1000 1000), alors ce code déplacera le pointeur vers les coordonnées (1000 1050) pendant 1 seconde. 
 

convertir une chaîne en json en java
    position():fonction pour obtenir la position actuelle du pointeur de la souris. 
     
Python
import pyautogui print(pyautogui.position()) 


Sortie : coordonnées où résidait votre souris au moment de l'exécution du programme. 
 

    clic() :Fonction utilisée pour cliquer et faire glisser la souris. 
     
Python
import pyautogui pyautogui.click(100 100) 


Ce code effectue un clic de souris typique à l'emplacement (100 100). 
Nous avons deux fonctions associées à l'opération glisser de la souris dragTo et dragRel . Ils fonctionnent de manière similaire aux fonctions moveTo et moveRel, sauf qu'ils maintiennent le bouton gauche de la souris tout en se déplaçant, déclenchant ainsi un glissement. 
Cette fonctionnalité peut être utilisée à divers endroits, comme déplacer une boîte de dialogue ou dessiner automatiquement quelque chose à l'aide d'un outil crayon dans MS Paint. Pour dessiner un carré à la peinture : 
 

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) 


Avant d'exécuter le code, ouvrez MS Paint en arrière-plan avec l'outil crayon sélectionné. Maintenant, exécutez le code, passez rapidement à MS Paint avant 10 secondes (puisque nous avons donné un temps de pause de 10 secondes en utilisant la fonction sleep() avant d'exécuter le programme). 
Après 10 secondes, vous verrez un carré dessiné dans MS Paint avec son bord supérieur gauche à 1 000 1 000 et une longueur de bord de 100 pixels.

    rouleau():la fonction de défilement ne prend pas. de pixels comme argument et fait défiler l'écran jusqu'à un nombre donné de pixels.
     
Python
import pyautogui pyautogui.scroll(200) 


Ce code fait défiler l'écran actif jusqu'à 200 pixels. 
 

    écrire() :Vous pouvez automatiser la saisie de la chaîne en utilisant la fonction typewrite(). transmettez simplement la chaîne que vous souhaitez saisir comme argument de cette fonction. 
     
Python
import pyautogui pyautogui.click(100 100) pyautogui.typewrite('hello Geeks !') 


Supposons qu'un champ de texte soit présent aux coordonnées 100 100 à l'écran, ce code cliquera sur le champ de texte pour le rendre actif et tapera bonjour les Geeks ! dedans. 
 

    Passer les noms de clés :Vous pouvez transmettre les noms de clés séparément via la fonction typewrite(). 
     
Python
import pyautogui pyautogui.typewrite(['a' 'left' 'ctrlleft']) 


Ce code est l'équivalent automatique de la saisie de « a » en appuyant sur la touche fléchée gauche et en appuyant sur la touche de contrôle gauche. 
 

    En appuyant sur des combinaisons de touches de raccourci :Utilisez la fonction hotkey() pour appuyer sur la combinaison de touches comme ctrl-c ctrl-a etc.
     
Python
import pyautogui pyautogui.hotkey('ctrlleft' 'a') 


Ce code est l'équivalent automatique d'appuyer simultanément sur Ctrl gauche et « a ». Ainsi dans Windows cela se traduira par la sélection de tout le texte présent à l'écran.

qu'est-ce qu'un moniteur

Exemple:

Pour envoyer un message dans WhatsApp et le supprimer automatiquement pour tout le monde. Vous devez avoir Whatsapp déjà ouvert dans Chrome pour l'exécuter. Après avoir exécuté ce code, ouvrez l'onglet WhatsApp sur 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 

 

Créer un quiz