Simuler les entrées au clavier en Python
-
Simuler un clavier à l’aide de la bibliothèque
keyboard
en Python -
Simuler un clavier à l’aide de la bibliothèque
PyAutoGUI
en Python
Python est utilisé pour presque tout. En utilisant Python, nous pouvons développer des backends pour les applications Web, des backends pour les applications mobiles et des API en utilisant des frameworks gratuits et open-source tels que Django
et Flask
.
De plus, les programmes Python créent également des modèles d’apprentissage automatique efficaces à l’aide de bibliothèques robustes telles que Keras
, NumPy
, Tensorflow
et PyTorch
, qui tracent différents types de tracés à l’aide de Matplotlib
, et bien plus encore.
Dans cet article, nous verrons de tels cas d’utilisation de Python. Nous apprendrons comment simuler ou contrôler le clavier en utilisant Python.
Nous parlerons de deux bibliothèques Python open-source, keyboard
et PyAutoGUI
, nous permettant de contrôler notre clavier à l’aide de scripts Python.
Simuler un clavier à l’aide de la bibliothèque keyboard
en Python
La bibliothèque keyboard
est une bibliothèque open-source pour prendre le contrôle de votre clavier.
Cette bibliothèque peut écouter et envoyer des événements de clavier, utiliser des raccourcis clavier, prendre en charge l’internationalisation et fournir un support de souris à l’aide de la bibliothèque mouse
, que nous pouvons télécharger à l’aide de pip install mouse
ou pip3 install mouse
.
Pour installer la bibliothèque keyboard
, utilisez l’une des deux commandes pip
suivantes.
pip install keyboard
pip3 install keyboard
Comprenons comment utiliser cette bibliothèque pour contrôler un clavier. Reportez-vous au code Python suivant pour un exemple simple qui tape du texte.
import keyboard
keyboard.write("Python is an amazing programming language.")
keyboard.press_and_release("enter")
keyboard.press_and_release("shift+p")
keyboard.press_and_release("y")
keyboard.press_and_release("t")
keyboard.press_and_release("h")
keyboard.press_and_release("o")
keyboard.press_and_release("n")
Production :
Python is an amazing programming language.
Python
Avant d’exécuter le code ci-dessus, notez votre curseur de texte ou caret. Le texte ci-dessus à l’intérieur de la zone de sortie y sera automatiquement saisi.
La fonction write()
tapera n’importe quelle chaîne passée à cette fonction en tant qu’argument. Cette fonction envoie des événements de clavier artificiels au système d’exploitation, qui est ensuite tapé au signe d’insertion.
Si un caractère n’est pas disponible sur le clavier, des caractères Unicode explicites sont saisis à la place. La fonction press_and_release()
envoie des événements du système d’exploitation pour effectuer des raccourcis clavier et taper des caractères passés en arguments.
Pour en savoir plus sur cette bibliothèque, reportez-vous à sa documentation ici.
Simuler un clavier à l’aide de la bibliothèque PyAutoGUI
en Python
La bibliothèque PyAutoGUI
nous permet d’écrire des scripts Python pour contrôler le clavier et la souris.
Cette bibliothèque peut déplacer le curseur de la souris et cliquer sur les fenêtres et les applications, envoyer des événements clés pour taper des caractères et exécuter des raccourcis clavier, prendre des captures d’écran, déplacer, redimensionner, minimiser, maximiser et localiser des applications à l’écran, et afficher des messages d’alerte, etc.
Pour installer cette bibliothèque, utilisez l’une des commandes suivantes.
pip install pyautogui
pip3 install pyautogui
Nous pouvons utiliser la bibliothèque PyAutoGUI
pour notre cas d’utilisation. Reportez-vous au code suivant pour cela.
import pyautogui
pyautogui.write("Python is an amazing programming language.")
Production :
Python is an amazing programming language.
Comme on peut le voir, la fonction write()
tape le caractère de la chaîne passée en argument au caret. Cette fonction ne peut appuyer que sur des touches à un seul caractère telles que des lettres et des chiffres.
Cela signifie que nous ne pouvons pas appuyer sur des touches telles que Shift, Ctrl, Command, Alt, Option, F1 et F3. Nous pouvons utiliser les méthodes keyDown()
et keyUp()
pour appuyer sur ces touches.
La méthode keyDown()
appuie sur une touche et la maintient enfoncée. Et la méthode keyUp()
libère une clé détenue.
Reportez-vous au code Python suivant pour un exemple. N’oubliez pas de noter la position de votre curseur texte ou caret.
import pyautogui
pyautogui.keyDown("shift")
pyautogui.press("a")
pyautogui.press("b")
pyautogui.press("c")
pyautogui.keyUp("shift")
pyautogui.press("x")
pyautogui.press("y")
pyautogui.press("z")
pyautogui.keyDown("shift")
pyautogui.press("a")
pyautogui.keyUp("shift")
pyautogui.keyDown("shift")
pyautogui.press("b")
pyautogui.keyUp("shift")
pyautogui.keyDown("shift")
pyautogui.press("c")
pyautogui.keyUp("shift")
Production :
ABCxyzABC
Pour appuyer sur des touches telles que Shift+F, nous pouvons également utiliser la méthode press()
. Cette fonction appuiera sur toutes les touches transmises sous forme de chaîne.
Dans les coulisses, cette fonction n’est qu’un wrapper pour les méthodes keyDown()
et keyUp()
.
Pour en savoir plus sur cette bibliothèque, reportez-vous à sa documentation ici.