Simulieren Tastatureingaben in Python

Vaibhav Vaibhav 14 April 2022
  1. Tastatur simulieren mit der Bibliothek keyboard in Python
  2. Simulieren die Tastatur mit der Bibliothek PyAutoGUI in Python
Simulieren Tastatureingaben in Python

Python wird für fast alles verwendet. Mit Python können wir Backends für Webanwendungen, Backends für mobile Anwendungen und APIs mit kostenlosen und Open-Source-Frameworks wie Django und Flask entwickeln.

Darüber hinaus erstellen Python-Programme auch effiziente Modelle für maschinelles Lernen mit robusten Bibliotheken wie Keras, NumPy, Tensorflow und PyTorch, die mit Matplotlib verschiedene Arten von Plots zeichnen, und vieles mehr.

In diesem Artikel werden wir solche Anwendungsfälle von Python sehen. Wir werden lernen, wie man die Tastatur mit Python simuliert oder steuert.

Wir werden über zwei Open-Source-Python-Bibliotheken sprechen, keyboard und PyAutoGUI, mit denen wir unsere Tastatur mit Python-Skripten steuern können.

Tastatur simulieren mit der Bibliothek keyboard in Python

Die keyboard-Bibliothek ist eine Open-Source-Bibliothek, mit der Sie die Kontrolle über Ihre Tastatur übernehmen können.

Diese Bibliothek kann Tastaturereignisse abhören und senden, Hotkeys verwenden, Internationalisierung unterstützen und Mausunterstützung mit Hilfe der Maus-Bibliothek bereitstellen, die wir mit pip install mouse oder pip3 install mouse herunterladen können.

Um die Bibliothek keyboard zu installieren, verwenden Sie einen der beiden folgenden pip-Befehle.

pip install keyboard
pip3 install keyboard

Lassen Sie uns verstehen, wie diese Bibliothek verwendet wird, um eine Tastatur zu steuern. Sehen Sie sich den folgenden Python-Code für ein einfaches Beispiel an, das etwas Text eingibt.

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")

Ausgabe:

Python is an amazing programming language.
Python

Python simuliert Tastatureingaben mit der Tastaturbibliothek

Bevor Sie den obigen Code ausführen, notieren Sie sich Ihren Textcursor oder das Caretzeichen. Der Text oben im Ausgabefeld wird dort automatisch eingegeben.

Die Funktion write() gibt den String ein, der dieser Funktion als Argument übergeben wird. Diese Funktion sendet künstliche Tastaturereignisse an das Betriebssystem, das beim Caretzeichen weiter getippt wird.

Wenn ein Zeichen auf der Tastatur nicht verfügbar ist, werden stattdessen explizite Unicode-Zeichen eingegeben. Die Funktion press_and_release() sendet Betriebssystemereignisse, um Hotkeys auszuführen und Zeichen einzugeben, die als Argumente übergeben werden.

Um mehr über diese Bibliothek zu erfahren, lesen Sie ihre Dokumentation hier.

Simulieren die Tastatur mit der Bibliothek PyAutoGUI in Python

Die Bibliothek PyAutoGUI lässt uns Python-Skripte schreiben, um Tastatur und Maus zu steuern.

Diese Bibliothek kann den Mauszeiger bewegen und über Fenster und Anwendungen klicken, Tastenereignisse senden, um Zeichen einzugeben und Hotkeys auszuführen, Screenshots machen, Anwendungen auf dem Bildschirm verschieben, in der Größe ändern, minimieren, maximieren und lokalisieren sowie Warnmeldungen anzeigen usw.

Verwenden Sie zum Installieren dieser Bibliothek einen der folgenden Befehle.

pip install pyautogui
pip3 install pyautogui

Für unseren Anwendungsfall können wir die Bibliothek PyAutoGUI verwenden. Beachten Sie dazu den folgenden Code.

import pyautogui

pyautogui.write("Python is an amazing programming language.")

Ausgabe:

Python is an amazing programming language.

Python simuliert Tastatureingaben mit der PyAutoGUI-Bibliothek

Wie wir sehen können, gibt die Funktion write() Zeichen der Zeichenfolge ein, die als Argument am Caretzeichen übergeben wird. Diese Funktion kann nur Einzelzeichentasten wie Buchstaben und Zahlen drücken.

Das bedeutet, dass wir keine Tasten wie Shift, Ctrl, Command, Alt, Option, F1 und F3 nicht drücken können. Wir können die Methoden keyDown() und keyUp() verwenden, um solche Tasten zu drücken.

Die Methode keyDown() drückt eine Taste und hält sie gedrückt. Und die Methode keyUp() gibt eine gehaltene Taste frei.

Ein Beispiel finden Sie im folgenden Python-Code. Vergessen Sie nicht, die Position Ihres Textcursors oder Caretzeichens zu notieren.

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")

Ausgabe:

ABCxyzABC

Python simuliert Tastatureingaben mit der PyAutoGUI-Bibliothek - 2

Um Tasten wie Shift+F zu drücken, können wir auch die Methode press() verwenden. Diese Funktion drückt alle Tasten, die als Zeichenfolge übergeben werden.

Hinter den Kulissen ist diese Funktion nur ein Wrapper für die Methoden keyDown() und keyUp().

Um mehr über diese Bibliothek zu erfahren, lesen Sie ihre Dokumentation hier.

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Python Input