Este artículo ilustra cómo automatizar los movimientos del mouse y el teclado usando el módulo pyautogui en python. Este módulo no está precargado con python. Entonces, para instalarlo, ejecute el siguiente comando:
pip3 install pyautogui
Controlando los movimientos del mouse usando el módulo pyautogui
Python rastrea y controla el mouse usando el sistema de coordenadas de la pantalla. Suponga que la resolución de su pantalla es 1920X1080, entonces el sistema de coordenadas de su pantalla se ve así:
- size(): esta función se utiliza para obtener la resolución de pantalla.
Python
import pyautogui print(pyautogui.size())
Guarde este archivo con la extensión .py y luego ejecútelo.
Este código de python usa la función size() para mostrar la resolución de su pantalla en formato x, y:
Salida:
(1920, 1080)
Nota: Es posible que algunos de los códigos proporcionados en este artículo no se ejecuten en el IDE de geeksforgeeks, ya que el IDE de geeksforgeeks no tiene los módulos necesarios para ejecutar estos códigos. Pero estos códigos se pueden ejecutar fácilmente localmente en su PC instalando Python y siguiendo las instrucciones proporcionadas en el artículo.
- moveTo(): use esta función para mover el mouse en el módulo pyautogui.
Python
import pyautogui pyautogui.moveTo(100, 100, duration = 1)
Este código usa la función moveTo(), que toma las coordenadas x e y, y un argumento de duración opcional. Esta función mueve el puntero del mouse desde su ubicación actual a la coordenada x, y, y toma el tiempo especificado por el argumento de duración para hacerlo. Guarde y ejecute este script de python para ver el puntero de su mouse moviéndose mágicamente desde su ubicación actual a las coordenadas (100, 100), tomando 1 segundo en este proceso.
- función moveRel(): mueve el puntero del mouse en relación con su posición anterior.
Python
import pyautogui pyautogui.moveRel(0, 50, duration = 1)
Este código moverá el puntero del mouse a (0, 50) en relación con su posición original. Por ejemplo, si la posición del mouse antes de ejecutar el código era (1000, 1000), entonces este código moverá el puntero a las coordenadas (1000, 1050) en una duración de 1 segundo.
- position(): función para obtener la posición actual del puntero del mouse.
Python
import pyautogui print(pyautogui.position())
Salida: coordenadas donde residía su mouse en el momento de ejecutar el programa.
- click(): Función utilizada para hacer clic y arrastrar el mouse.
Python
import pyautogui pyautogui.click(100, 100)
Este código realiza un clic de ratón típico en la ubicación (100, 100).
Tenemos dos funciones asociadas a la operación de arrastre del ratón, dragTo y dragRel . Realizan funciones similares a moveTo y moveRel, excepto que mantienen presionado el botón izquierdo del mouse mientras se mueven, iniciando así un arrastre.
Esta funcionalidad se puede usar en varios lugares, como mover un cuadro de diálogo o dibujar algo automáticamente usando una herramienta de lápiz en MS Paint. Para dibujar un cuadrado en pintura:
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)
Antes de ejecutar el código, abra MS Paint en segundo plano con la herramienta Lápiz seleccionada. Ahora ejecute el código, cambie rápidamente a MS Paint antes de 10 segundos (ya que hemos dado 10 segundos de tiempo de pausa usando la función sleep() antes de ejecutar el programa).
Después de 10 segundos, verá que se dibuja un cuadrado en pintura MS, con su borde superior izquierdo en 1000, 1000 y una longitud de borde de 100 píxeles.
- scroll(): la función de desplazamiento toma no. de píxeles como argumento y desplaza la pantalla hacia arriba hasta un número determinado de píxeles.
Python
import pyautogui pyautogui.scroll(200)
Este código desplaza la pantalla activa hasta 200 píxeles.
- typewrite(): puede automatizar la escritura de la string mediante el uso de la función typewrite(). simplemente pase la string que desea escribir como argumento de esta función.
Python
import pyautogui pyautogui.click(100, 100) pyautogui.typewrite("hello Geeks !")
Supongamos que un campo de texto estuviera presente en las coordenadas 100, 100 en la pantalla, luego este código hará clic en el campo de texto para activarlo y escribir «¡Hola Geeks!» en eso.
- Pasar nombres de claves: Puede pasar nombres de claves por separado a través de la función typewrite().
Python
import pyautogui pyautogui.typewrite(["a", "left", "ctrlleft"])
Este código es el equivalente automático de escribir «a», presionar la tecla de flecha izquierda y presionar la tecla de control izquierda.
- Presionar combinaciones de teclas rápidas: Use la función hotkey() para presionar la combinación de teclas como ctrl-c, ctrl-a, etc.
Python
import pyautogui pyautogui.hotkey("ctrlleft", "a")
Este código es el equivalente automático de presionar Ctrl izquierdo y «a» simultáneamente. Por lo tanto, en Windows, esto resultará en la selección de todo el texto presente en la pantalla.
Ejemplo:
Para enviar un mensaje en WhatsApp y eliminarlo para todos automáticamente. Debe tener Whatsapp ya abierto en Chrome para ejecutar esto. Después de ejecutar este código, abra la pestaña de WhatsApp en 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
Este artículo es una contribución de tkkhhaarree . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA