Instalando Pyautogui
Antes de usar funções de Pyautogui módulo, temos que instalá -lo. Para instalar este módulo, execute o seguinte comando no terminal.
$ pip install pyautogui
OU
$ pip3 install pyautoguiAgora Pyautogui está pronto para usar.
Obtendo resolução de exibição
Antes de automatizar as ações do mouse, é uma boa prática conhecer a resolução da tela. Podemos obter a resolução da tela usando .tamanho() método de
Pyautogui. Veja abaixo Obtendo resolução da tela em forma de 'largura x altura':
Python 2.7.15+ (padrão, 7 de outubro de 2019, 17:39:04)Digite “ajuda”, “direitos autorais”, “créditos” ou “licença” para obter mais informações.
>>> Importar PyautoguiIsso significa que temos 1366 pixels na direção horizontal da tela e 768 pixels na direção vertical da tela.
Movendo o mouse em exibição
Então sabemos a resolução de nossa exibição. Agora podemos mover o mouse para qualquer lugar da tela dentro dos limites de resolução da exibição. Podemos mover o mouse usando .mover para() Método de Pyautogui. Exemplo abaixo do mouse em movimento para (100.100) posição em 2 segundos
>>> Importar PyautoguiPassamos três argumentos para .Método moveto (). Os dois primeiros argumentos são obrigatórios e mostram a posição de destino, mas o terceiro argumento não é obrigatório. Se não passarmos no terceiro argumento, o mouse se move para o destino em nenhum momento.
Clicando, rolando e arrastando mouse
Pyautogui fornece alguns métodos para controlar as ações do mouse. Podemos clicar, rolar e arrastar o mouse usando métodos diferentes.
Clicar em ação do mouse pode ser executada usando .Método de clique (). Antes de clicar, mova o mouse para o pixel necessário e depois use .Clique () Método para clicar. A seguir, o exemplo para executar a ação de cliques do mouse. Exemplo abaixo moverá o mouse para (300.201) pixel e clicar no mouse.
>>> Importar PyautoguiVocê pode clicar duas vezes no mouse usando .Duplo click() método.
>>> Pyautogui.Moveto (300.201)Pyautogui fornece um método .rolagem() Para rolar o mouse para cima ou para baixo. Este método toma um número inteiro como um argumento e depois rola para cima ou para baixo, dependendo do número inteiro. Se você passar por um número inteiro positivo, ele rolará para cima e para um número inteiro negativo, ele rolará para baixo. Quanto vai rolar? Depende do valor de inteiro.
>>> Importar PyautoguiNo exemplo acima, primeiro o mouse rolará 20 unidades e depois rolará para baixo 20 unidades.
A operação de arrastamento do mouse também pode ser aplicada usando .dragto () Método do módulo Pyautogui. Arrastar significa, mover o mouse enquanto pressiona um dos botões do mouse. Este método leva três argumentos, os dois primeiros argumentos para exibir as coordenadas do destino e o último argumento é o tempo de duração que significa quanto tempo levará para se mudar para o destino.
Para ver a operação de arrastamento, abra a tinta, maximize a janela, escolha o lápis e execute os seguintes comandos no shell interativo. O código moverá o mouse para (138.229) pixel em 2 segundos e depois arrasta o mouse do pixel atual para o pixel necessário também em 2 segundos.
>>> Importar PyautoguiO código acima fará um programa quadrado em tinta arrastando o mouse.
Como encontrar as coordenadas de um diretório ou ícone de arquivo
Para encontrar as coordenadas de um arquivo ou um diretório, .posição() o método é usado. Este método retorna as coordenadas em que o mouse está presente atualmente. Siga as etapas dadas para encontrar coordenadas
Manuseio de pausa e falha
Você está escrevendo um script para automatizar suas ações do mouse e precisa de uma breve pausa entre cada comando. Como você vai gerenciar? Você vai usar .dormir() método de TEMPO módulo após cada comando? Mas aumentará a duração do seu código. Isso pode ser feito configurando Pyautogui.PAUSA variável para o número de segundos que você deseja uma pausa. Isso criará uma pausa após cada comando. O exemplo abaixo faz uma pausa em 3 segundos entre cada comando.
>>> Importar PyautoguiPython também tem um FailSafe recurso. Para ativar esse recurso, definimos Pyautogui.FailSafe para verdadeiro. Como isso funciona? Por exemplo, sua tela tem uma resolução de 1366 x 768. Se você mover o mouse para (1500.1500), o programa travará o aumento. Você pode lidar com esta exceção usando a tentativa e exceto a declaração ou desativando Pyautogui.FailSafe. Ao desativar o recurso FailSafe, o programa não aumentará esta exceção.
>>> Importar PyautoguiNo exemplo acima, passamos o mouse (1500.1500) pixels, mas a tela possui (1366.768) pixels. O programa ignorou esta exceção.
Enviando uma string do teclado
Pyautogui fornece um recurso para passar uma string do teclado. Isso pode ser feito usando .Método typewrite () deste módulo. Antes de passar a string do teclado, concentre -se na janela onde você vai passar pela string. Para se concentrar na janela necessária, podemos usar .Método de clique ().
Usamos um semicolon entre os dois comandos, pois ele se concentra no editor de texto e passamos a corda um atrás do outro. Agora a questão é como podemos passar as teclas 'alt' ou 'shift'. Essas chaves podem ser representadas por valores curtos de string. Alguns valores de string são dados abaixo.
Chaves String ValuesPara passar por uma das teclas acima, usamos esses valores de string na forma de lista. O exemplo a seguir esclarecerá isso. O código está passando 'Capslock' duas vezes. Primeira vez na forma de lista e sequência simples da segunda vez. Passando 'Capslock' na lista pressiona a tecla 'Caps Lock'. E o segundo 'capslock' simplesmente escreve 'Capslock' no capital como 'Capslock' é pressionado primeiro.
>>> Importar PyautoguiPressionando atalhos
Um atalho é a combinação de chaves para executar algumas tarefas. Por exemplo, o atalho 'Alt+F4' é usado para fechar a janela atual. Uma combinação de chaves também pode ser passada do teclado usando o módulo pyautogui. Para pressionar 'Alt+F4', primeiro pressionamos e seguimos a tecla 'Alt' e depois pressione a tecla F4 '. Depois de liberar a chave 'F4', soltamos a tecla 'Alt'. Aqui vamos usar .keyUp () e .keydown () Métodos para pressionar uma combinação de chaves. A seguir, o exemplo mostra a tecla de pressionar e segurar a tecla 'Alt' e pressionar e manter a tecla 'F4' juntos.
Importar PyautoguiOBSERVAÇÃO: No exemplo acima, não usamos a lista do valor da string de 'alt' e 'f4'. A lista de valor da string é passada apenas para .Typewrite () método.
É muito complicado pressionar e segurar a tecla 'Alt' e pressionar a tecla 'f4' e depois de liberar a tecla 'f4' e depois libere a tecla 'alt'. Isso pode ser feito simplesmente usando .tecla de atalho () método. A seguir, o exemplo limpará o conceito.
Importar PyautoguiTomando e analisando a captura de tela
Também podemos tirar capturas de tela usando Python. O módulo Pyautogui oferece .Captura de tela () Método para tirar a captura de tela da tela atual. A captura de tela pode ser exibida usando .mostrar() método. Execute o seguinte comando para tirar uma captura de tela e exibi -lo.
>>> Importar PyautoguiQuando você executa os comandos acima para tirar a captura de tela, ele será salvo na variável 'img'. Agora podemos chamar mais métodos na variável 'img'.
Podemos obter uma tupla dos valores RGB do nosso pixel necessário usando .getpixel () Método na variável 'img'. Argumento passado para .O método getpixel () é uma tupla que contém as coordenadas x e y da captura de tela. Execute o seguinte comando no shell interativo.
>>> IMG.getpixel ((2,3))Além disso, podemos obter o tamanho da imagem usando o seguinte comando
>>> IMG.tamanhoPodemos verificar se os pixels de tela fornecidos com o valor RGB fornecido ou não. Isso pode ser feito usando .pixelmatchescolor () método. Um total de três argumentos são passados para este método. Os dois primeiros argumentos são as coordenadas X e Y da tela e o terceiro argumento é uma tupla dos valores de RGB. Este método retorna 'True' se a cor corresponder com o pixel, caso contrário 'false'. Este método pode ser usado da seguinte maneira
>>> Pyautogui.pixelmatchescolor (2,3, (85,82,74))Vimos alguns princípios básicos e agora nas seções a seguir, veremos alguns casos de uso de automação da GUI usando o módulo Pyautogui.
Abrindo automaticamente arquivos diferentes para você
Todos os dias em seu escritório, você precisa abrir muitos arquivos para inserir alguns dados de funcionários manualmente. É uma coisa um pouco chata de se fazer. Primeiro, vá para o diretório de documentos e depois vá para outro diretório e abra um arquivo, depois retorne ao diretório de documentos e Goto outro diretório e faça a mesma coisa etc.
Isso pode ser feito simplesmente escrevendo um script python. O que você precisa fazer é executar apenas o script e o script abrirá todos os arquivos.
Para executar esta tarefa, antes de tudo, você precisa localizar as coordenadas de seguir
Como encontrar as coordenadas foi explicado anteriormente.
# Importando módulo PyautoguiNo código acima, abrimos apenas um arquivo. Da mesma forma, você pode estender o código para abrir vários arquivos.
Parecendo ocupado no sistema
Você está no seu trabalho e não está trabalhando no sistema, mas seu sistema possui um aplicativo instalado que pode adivinhar se você está sentado ocioso ou trabalhando no sistema usando o movimento do mouse. Então você deseja automatizar o mouse para se mover após cada curto intervalo de tempo.
Isso pode ser feito escrevendo um pequeno script python usando Pyautogui módulo.
Importar PyautoguiNo código acima, estamos movendo o mouse de um local para outro após cada 5 segundos. Podemos sair deste código pressionando 'Ctrl+C'.
Neste blog, discutimos como você pode usar o módulo Pyautogui para automatizar a GUI do sistema. Diferentes funções deste módulo foram explicadas e você pode automatizar quase tudo o que pode ser feito usando teclado e mouse usando essas funções.