logo

Automatización del mouse y el teclado usando Python

Este artículo ilustra cómo automatizar los movimientos del mouse y el teclado usando pyautogui módulo en Python. Este módulo no está precargado con Python. Entonces para instalarlo ejecute el siguiente comando: 
 

amisha patel
 pip3 install pyautogui


 

Controlar los movimientos del mouse usando el módulo pyautogui




Python rastrea y controla el mouse usando el sistema de coordenadas de la pantalla. Supongamos que la resolución de su pantalla es 1920X1080, entonces el sistema de coordenadas de su pantalla se ve así: 
 

interfaz gráfica de usuario en Python' src='//techcodeview.com/img/python/69/mouse-and-keyboard-automation-using-python.webp' title=


 

    tamaño():Esta función se utiliza para obtener la resolución de la pantalla.
     
Python
import pyautogui print(pyautogui.size()) 


Guarde este archivo con la extensión .py y luego ejecútelo. 
Este código Python usa la función size() para generar la resolución de su pantalla en formato x y: 
Producción: 
 

 (1920 1080)


Nota: Es posible que algunos de los códigos proporcionados en este artículo no se ejecuten en geeksforgeeks IDE ya que geeksforgeeks IDE 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. 
 

    moverA():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 utiliza la función moveTo() que toma las coordenadas xey 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 del mouse moverse mágicamente desde su ubicación actual a las coordenadas (100 100), tomando 1 segundo en este proceso. 
 

    función moverRel():mueve el puntero del mouse con respecto a su posición anterior. 
     
Python
import pyautogui pyautogui.moveRel(0 50 duration = 1) 


Este código moverá el puntero del mouse en (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), este código moverá el puntero a las coordenadas (1000 1050) en una duración de 1 segundo. 
 

    posición():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 al momento de ejecutar el programa. 
 

    hacer clic():Función utilizada para hacer clic y arrastrar el mouse. 
     
Python
import pyautogui pyautogui.click(100 100) 


Este código realiza un clic típico del mouse en la ubicación (100 100). 
Tenemos dos funciones asociadas a la operación de arrastre del ratón arrastrarA y arrastrarRel . Funcionan de manera similar a las funciones moveTo y moveRel excepto que mantienen presionado el botón izquierdo del mouse mientras se mueven, iniciando así un arrastre. 
Esta funcionalidad se puede utilizar 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 de lápiz seleccionada. Ahora ejecute el código y cambie rápidamente a MS Paint antes de 10 segundos (ya que le hemos dado un tiempo de pausa de 10 segundos usando la función sleep() antes de ejecutar el programa). 
Después de 10 segundos, verá un cuadrado dibujado en MS Paint con su borde superior izquierdo en 1000 1000 y una longitud de borde de 100 píxeles.

menú desplegable de javascript
    voluta():La función de desplazamiento no requiere. de píxeles como argumento y desplaza la pantalla 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. 
 

xor en c++
    escribir a máquina():Puede automatizar la escritura de la cadena utilizando la función typewrite(). simplemente pase la cadena que desea escribir como argumento de esta función. 
     
Python
import pyautogui pyautogui.click(100 100) pyautogui.typewrite('hello Geeks !') 


Supongamos que hay un campo de texto presente en las coordenadas 100 100 en la pantalla, entonces este código hará clic en el campo de texto para activarlo y escribirá hola Geeks. en ello. 
 

    Pasando nombres clave:Puede pasar los nombres de las claves por separado mediante la función typewrite(). 
     
Python
import pyautogui pyautogui.typewrite(['a' 'left' 'ctrlleft']) 


Este código es el equivalente automático de escribir 'a' presionando la tecla de flecha izquierda y presionando la tecla de control izquierda. 
 

    Al presionar combinaciones de teclas de acceso rápido:Utilice 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. Debes tener Whatsapp ya abierto en Chrome para ejecutar esto. Después de ejecutar este código, abra la pestaña 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 

 

Crear cuestionario