Introduction
Le contrôle de la souris est un aspect essentiel de l'automatisation des interactions avec l'interface utilisateur. Dans de nombreuses tâches, qu'il s'agisse de tests automatisés, de scripts, de bots de jeux ou d'utilitaires d'automatisation, il est nécessaire de déplacer le pointeur par programmation, de simuler des clics et d'intercepter les actions de l'utilisateur. En Python, la bibliothèque mouse est parfaitement adaptée à cela.
La bibliothèque mouse offre une API simple et directe pour interagir avec la souris : suivi des événements, exécution de clics, enregistrement et relecture des mouvements. Elle convient au développement multiplateforme, est facile à installer et s'utilise aussi bien dans des scripts isolés que dans des projets RPA complexes.
Installation et configuration de la bibliothèque mouse
Installation via pip
pip install mouse
Prérequis système et autorisations
Sous Linux et macOS, l'exécution en tant qu'administrateur ou l'octroi d'autorisations de contrôle des entrées peut être nécessaire.
Pour Linux :
sudo pip install mouse
Pour macOS : Vous devez autoriser l'accès dans les paramètres Sécurité et confidentialité → Accessibilité.
Pour Windows : Certaines fonctions nécessitent une exécution avec les privilèges d'administrateur.
Architecture et principes de fonctionnement
Composants principaux
La bibliothèque mouse est composée de plusieurs éléments clés :
- Controller — contrôle du curseur et émulation des actions
- Listener — suivi des événements de la souris
- Recorder — enregistrement et relecture des macros
- Event System — système de gestion des événements
Plateformes supportées
- Windows (via l'API Windows)
- macOS (via Cocoa)
- Linux (via X11/Wayland)
Fonctionnalités principales de la bibliothèque
Émulation des actions de la souris
mouse fonctionne à la fois pour capturer les actions de l'utilisateur (listener) et comme émulateur de mouvements et de clics (controller).
Fonctions principales :
- Suivi des pressions et relâchements des boutons
- Détermination de la position du curseur
- Clics et défilement par programmation
- Déplacement du curseur
- Raccourcis clavier de la souris
- Enregistrement et relecture de macros
Types d'événements
La bibliothèque gère les types d'événements suivants :
- ButtonEvent — pression/relâchement des boutons
- MoveEvent — déplacement du curseur
- WheelEvent — défilement de la molette
Contrôle du curseur et positionnement
Déplacement du curseur
import mouse
# Positionnement absolu
mouse.move(100, 200)
# Déplacement relatif
mouse.move(50, 0, absolute=False)
# Déplacement fluide avec délai
mouse.move(300, 400, duration=1.0)
Obtenir les coordonnées actuelles
# Obtenir la position du curseur
x, y = mouse.get_position()
print(f"Le curseur se trouve à : ({x}, {y})")
# Utilisation dans des conditions
if mouse.get_position()[0] > 500:
print("Le curseur est dans la partie droite de l'écran")
Émulation des clics et actions
Types de clics principaux
# Clic gauche
mouse.click('left')
mouse.left_click()
# Clic droit
mouse.click('right')
mouse.right_click()
# Clic central
mouse.click('middle')
mouse.middle_click()
# Double clic
mouse.double_click()
Clics sur des coordonnées
# Clic à des coordonnées spécifiques
mouse.click('left', (300, 400))
# Sauvegarder la position avant le clic
original_pos = mouse.get_position()
mouse.click('left', (100, 100))
mouse.move(*original_pos)
Maintien
Aussi dans la bibliothèque
Kotest pour Kotlin : guide complet avec exemples
Intégration des métriques Prometheus dans les applications Kotlin : guide complet
Géolocalisation et cartes en Go (Golang) : bibliothèques et exemples
Mise en cache en C++ : Redis, couche de données et autres outils
Jetons JWT en C# (.NET) : travailler avec System.IdentityModel.Tokens.Jwt