Instalación de Pyautogui
Antes de usar funciones de Pyautogui módulo, tenemos que instalarlo. Para instalar este módulo, ejecute el siguiente comando en la terminal.
$ Pip Instalar Pyautogui
O
$ PIP3 Instalar pyautoguiAhora Pyautogui está listo para usar.
Obtener resolución de la pantalla
Antes de automatizar las acciones del mouse, es una buena práctica conocer la resolución de la pantalla. Podemos obtener la resolución de la pantalla usando .tamaño() método de
Pyautogui. Vea a continuación la resolución de la pantalla en forma de 'ancho x altura':
Python 2.7.15+ (predeterminado, 7 de octubre de 2019, 17:39:04)Escriba "ayuda", "copyright", "créditos" o "licencia" para obtener más información.
>>> importar pyautoguiSignifica que tenemos 1366 píxeles en dirección horizontal de pantalla y 768 píxeles en dirección vertical de pantalla.
Mover el mouse en exhibición
Entonces conocemos la resolución de nuestra pantalla. Ahora podemos mover el mouse en cualquier lugar de la pantalla dentro de los límites de resolución de la pantalla. Podemos mover el mouse usando .mover a() Método de Pyautogui. Ejemplo a continuación de mover el mouse a la posición (100,100) en 2 segundos
>>> importar pyautoguiHemos pasado tres argumentos a .Método Moveto (). Los primeros dos argumentos son obligatorios y muestran la posición de destino, pero el tercer argumento no es obligatorio. Si no pasamos el tercer argumento, entonces el mouse se mueve al destino en poco tiempo.
Hacer clic, desplazar y arrastrar el mouse
Pyautogui proporciona algunos métodos para controlar las acciones del mouse. Podemos hacer clic, desplazar y arrastrar mouse utilizando diferentes métodos.
Al hacer clic en la acción del mouse se puede realizar utilizando .hacer clic () Método. Antes de hacer clic, mueva el mouse al píxel requerido y luego use .hacer clic () Método para hacer clic. El siguiente es el ejemplo para realizar la acción de hacer clic del mouse. El ejemplo a continuación moverá el mouse a (300,201) píxel y haga clic en el mouse.
>>> importar pyautoguiPuede hacer doble clic en el mouse usando .haga doble clic() método.
>>> Pyautogui.Moveto (300,201)Pyautogui proporciona un método .Desplazarse() para desplazar el mouse hacia arriba o hacia abajo. Este método toma un entero como argumento, luego se desplaza hacia arriba o hacia abajo dependiendo del entero. Si pasa un entero positivo, se desplazará hacia arriba y por un entero negativo se desplazará hacia abajo. Cuanto se desplazará? Depende del valor de entero.
>>> importar pyautoguiEn el ejemplo anterior, primero el mouse se desplazará por 20 unidades y luego se desplazará hacia abajo de 20 unidades.
Arrastrar la operación del mouse también se puede aplicar utilizando .arrastre a() Método del módulo Pyautogui. Arrastrar medios, mover el mouse mientras presiona uno de los botones del mouse. Este método toma tres argumentos, los dos primeros argumentos para mostrar las coordenadas de destino y el último argumento es el tiempo de duración que significa cuánto tiempo llevará pasar al destino.
Para ver la operación de arrastre, abra la pintura, maximice la ventana, elija el lápiz y ejecute los siguientes comandos en la carcasa interactiva. El código moverá el mouse a (138,229) píxel en 2 segundos, y luego arrastrar el mouse del píxel actual al píxel requerido también en 2 segundos.
>>> importar pyautoguiEl código anterior hará un programa cuadrado sobre pintura arrastrando el mouse.
Cómo encontrar las coordenadas de un directorio o icono de archivo
Para encontrar las coordenadas de un archivo o un directorio, .posición() se utiliza el método. Este método devuelve las coordenadas en las que el mouse está actualmente presente. Siga los pasos dados para encontrar coordenadas
Manejo de pausa y fallas seguros
Está escribiendo un script para automatizar las acciones de su mouse y necesita una breve pausa entre cada comando. ¿Cómo lo administrarás?? Usarás .dormir() método de TIEMPO módulo después de cada comando? Pero aumentará la longitud de su código. Esto se puede hacer mediante la configuración pyautogui.PAUSA variable al número de segundos que desea una pausa. Esto creará una pausa después de cada comando. El ejemplo a continuación detiene 3 segundos entre cada comando.
>>> importar pyautoguiPython también tiene un A PRUEBA DE FALLOS característica. Para habilitar esta función, configuramos pyautogui.Fallas a la verdad. Cómo funciona esto? Por ejemplo, su pantalla tiene una resolución de 1366 x 768. Si mueve el mouse a (1500,1500), el programa se bloqueará mediante la recaudación de FakeSafeException. Puede manejar esta excepción utilizando la declaración de prueba y excepto o deshabilitando Pyautogui.A PRUEBA DE FALLOS. Al deshabilitar la función FakeSafe, el programa no planteará esta excepción.
>>> importar pyautoguiEn el ejemplo anterior, movimos el mouse en píxeles (1500,1500) pero la pantalla tiene (1366,768) píxeles. El programa ignoró esta excepción.
Enviar una cadena desde el teclado
Pyautogui proporciona una característica para pasar una cadena desde el teclado. Esto se puede hacer usando .Método de máquina de escribir () de este módulo. Antes de pasar una cadena desde el teclado, concéntrese en la ventana donde va a pasar la cadena. Para centrarnos en la ventana requerida, podemos usar .hacer clic () Método.
Utilizamos un punto y comandos entre los dos comandos, ya que se centra en el editor de texto y pasamos la cadena uno detrás del otro. Ahora la pregunta es cómo podemos pasar las teclas 'alt' o 'cambiar'. Estas teclas pueden representarse mediante valores de cadena cortos. Algunos valores de cadena se dan a continuación.
Valores de cadena de teclasPara pasar una de las claves anteriores, usamos estos valores de cadena en forma de lista. El siguiente ejemplo aclarará esto. El código está pasando 'Capslock' dos veces. Primera vez en forma de lista y segunda vez Simple String. Pasar 'Capslock' en la lista presiona la tecla 'Bloqueo de Caps'. Y el segundo 'Capslock' simplemente escriba 'Capslock' en capital, ya que primero se presiona la tecla 'Capslock'.
>>> importar pyautoguiPresionando atajos
Un atajo es la combinación de claves para realizar algunas tareas. Por ejemplo, se utiliza el acceso directo 'Alt+F4' para cerrar la ventana actual. Una combinación de teclas también se puede pasar del teclado utilizando el módulo Pyautogui. Para presionar 'Alt+F4', primero presionamos y presionamos la tecla 'Alt' y luego presione la tecla 'F4'. Después de lanzar la tecla 'F4', lanzamos la tecla 'Alt'. Aquí usaremos .tecla Arriba() y .keydown () Métodos para presionar una combinación de teclas. El siguiente ejemplo muestra presionar y contener la tecla 'Alt' y presionar y mantener la tecla 'F4' junta.
importar pyautoguiNOTA: En el ejemplo anterior no usamos la lista de valor de cadena de la tecla 'Alt' y 'F4'. La lista de valor de cadena solo se pasa a .escribir a máquina() método.
Es muy complicado de presionar y presionar la tecla 'Alt' y luego presione la tecla 'F4' y después de liberar la tecla 'F4' y luego liberar la tecla 'Alt'. Esto se puede hacer simplemente usando .Hotkey () método. El siguiente ejemplo borrará el concepto.
importar pyautoguiTomar y analizar la captura de pantalla
También podemos tomar una captura de pantalla con Python. Ofertas de módulo Pyautogui .captura de pantalla() Método para tomar la captura de pantalla de la pantalla actual. La captura de pantalla se puede mostrar utilizando .espectáculo() método. Ejecute el siguiente comando para tomar una captura de pantalla y mostrarla.
>>> importar pyautoguiCuando ejecute los comandos anteriores para tomar una captura de pantalla, se guardará en la variable 'IMG'. Ahora podemos llamar a más métodos sobre la variable 'IMG'.
Podemos obtener una tupla de los valores RGB de nuestro píxel requerido usando .getPixel () Método en la variable 'IMG'. Argumento pasado a .El método getPixel () es una tupla que contiene las coordenadas X e Y de la captura de pantalla. Ejecute el siguiente comando en el shell interactivo.
>>> img.getPixel ((2,3))Además, podemos obtener el tamaño de la imagen usando el siguiente comando
>>> img.tamañoPodemos verificar si los píxeles dados de la pantalla coinciden con el valor RGB dado o no. Esto se puede hacer usando .PixelMatchScolor () método. Se pasan un total de tres argumentos a este método. Los primeros dos argumentos son las coordenadas X e Y de la pantalla y el tercer argumento es una tupla de valores RGB. Este método devuelve 'verdadero' si el color coincide con píxel de lo contrario 'falso'. Este método se puede usar de la siguiente manera
>>> Pyautogui.PixelMatchescolor (2,3, (85,82,74))Hemos visto algunos conceptos básicos, y ahora en las siguientes secciones veremos algunos casos de uso de automatización de la GUI usando el módulo Pyautogui.
Abrir automáticamente diferentes archivos para usted
Todos los días en su oficina, debe abrir muchos archivos para ingresar algunos datos de los empleados manualmente. Es un poco aburrido hacer. Primero vaya al directorio de documentos, luego vaya a otro directorio y abra un archivo, luego regrese al directorio de documentos y gotee otro directorio y haga lo mismo, etc.
Esto se puede hacer simplemente escribiendo un guión de Python. Lo que tiene que hacer es ejecutar solo el script y el script abrirá todos los archivos.
Para realizar esta tarea, en primer lugar, debe localizar las coordenadas de los seguidores
Cómo encontrar las coordenadas se ha explicado anteriormente.
# Importar módulo PyautoguiEn el código anterior, solo abrimos un archivo. Del mismo modo, puede extender el código para abrir varios archivos.
Parece ocupado en el sistema
Está en su trabajo y no está trabajando en el sistema, pero su sistema tiene una aplicación instalada que puede adivinar si está sentado inactivo o trabajando en el sistema utilizando el movimiento del mouse. Por lo tanto, desea automatizar el mouse para moverse después de cada intervalo de tiempo corto.
Esto se puede hacer escribiendo un pequeño script de Python usando Pyautogui módulo.
importar pyautoguiEn el código anterior estamos moviendo el mouse de una ubicación a otra ubicación durante cada 5 segundos. Podemos dejar este código presionando 'Ctrl+C'.
En este blog discutimos cómo puede usar el módulo pyautogui para automatizar la GUI del sistema. Se han explicado diferentes funciones de este módulo y puede automatizar casi todo lo que se puede hacer usando teclado y mouse utilizando estas funciones.