Simular entradas de teclado en Python
-
Simular teclado usando la biblioteca
keyboard
en Python -
Simular teclado utilizando la biblioteca
PyAutoGUI
en Python
Python se usa para casi cualquier cosa. Con Python, podemos desarrollar backends para aplicaciones web, backends para aplicaciones móviles y API utilizando marcos de trabajo gratuitos y de código abierto como Django
y Flask
.
Además, los programas de Python también crean modelos de aprendizaje automático eficientes utilizando bibliotecas robustas como Keras
, NumPy
, Tensorflow
y PyTorch
, que trazan varios tipos de gráficos utilizando Matplotlib
, y mucho más.
En este artículo, veremos tales casos de uso de Python. Aprenderemos a simular o controlar el teclado usando Python.
Hablaremos de dos bibliotecas de Python de código abierto, keyboard
y PyAutoGUI
, que nos permiten controlar nuestro teclado usando scripts de Python.
Simular teclado usando la biblioteca keyboard
en Python
La biblioteca keyboard
es una biblioteca de código abierto para tomar el control de su teclado.
Esta biblioteca puede escuchar y enviar eventos de teclado, usar teclas de acceso rápido, admitir la internacionalización y brindar soporte para mouse con la ayuda de la biblioteca mouse
, que podemos descargar usando pip install mouse
o pip3 install mouse
.
Para instalar la biblioteca keyboard
, utilice cualquiera de los siguientes dos comandos pip
.
pip install keyboard
pip3 install keyboard
Comprendamos cómo usar esta biblioteca para controlar un teclado. Consulte el siguiente código de Python para ver un ejemplo simple que escribe texto.
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")
Producción :
Python is an amazing programming language.
Python
Antes de ejecutar el código anterior, tome nota de su cursor de texto o símbolo de intercalación. El texto de arriba dentro del cuadro de salida se escribirá allí automáticamente.
La función escribir()
escribirá cualquier cadena que se pase a esta función como argumento. Esta función envía eventos de teclado artificial al sistema operativo, que se escribe más en el signo de intercalación.
Si algún carácter no está disponible en el teclado, en su lugar se escriben caracteres Unicode explícitos. La función press_and_release()
envía eventos del sistema operativo para ejecutar teclas de acceso rápido y escribir caracteres pasados como argumentos.
Para comprender más acerca de esta biblioteca, consulte su documentación aquí.
Simular teclado utilizando la biblioteca PyAutoGUI
en Python
La biblioteca PyAutoGUI
nos permite escribir scripts de Python para controlar el teclado y el mouse.
Esta biblioteca puede mover el cursor del mouse y hacer clic sobre ventanas y aplicaciones, enviar eventos clave para escribir caracteres y ejecutar teclas de acceso rápido, tomar capturas de pantalla, mover, cambiar el tamaño, minimizar, maximizar y ubicar aplicaciones en la pantalla y mostrar mensajes de alerta, etc.
Para instalar esta biblioteca, use cualquiera de los siguientes comandos.
pip install pyautogui
pip3 install pyautogui
Podemos usar la biblioteca PyAutoGUI
para nuestro caso de uso. Consulte el siguiente código para esto.
import pyautogui
pyautogui.write("Python is an amazing programming language.")
Producción :
Python is an amazing programming language.
Como podemos ver, la función write()
escribe el carácter de la cadena pasada como argumento en el signo de intercalación. Esta función solo puede presionar teclas de un solo carácter, como letras y números.
Esto significa que no podemos presionar teclas como Shift, Ctrl, Command, Alt, Option, F1 y F3. Podemos utilizar los métodos keyDown()
y keyUp()
para pulsar dichas teclas.
El método keyDown()
presiona una tecla y la mantiene presionada. Y el método keyUp()
libera una tecla retenida.
Consulte el siguiente código de Python para ver un ejemplo. No olvide anotar la posición de su cursor de texto o símbolo de intercalación.
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")
Producción :
ABCxyzABC
Para pulsar teclas como Shift+F, también podemos utilizar el método press()
. Esta función presionará cualquier tecla que se pase como una cadena.
Detrás de escena, esta función es solo un contenedor para los métodos keyDown()
y keyUp()
.
Para comprender más acerca de esta biblioteca, consulte su documentación aquí.