Blog

Postado em em 19 de abril de 2021

Automação de Programa ou Sistema com PyAutogui no Python

Construa qualquer automação de programa ou sistema com PyAutogui no Python! Aprenda a usar a biblioteca PyAutogui e automatize seu computador.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Automação de Programa ou Sistema com PyAutogui no Python

A biblioteca Pyautogui no Python é uma mão na roda em muitos casos. Ela permite construir testes precisos e práticos para evoluir nos resultados no desenvolvimento de software e até fazer automação de programa!

Com essa biblioteca, os programadores perdem menos tempo e focam em aspectos mais importantes.

Quando se fala de uma biblioteca, é preciso saber o básico: como instalar, as principais aplicações, quais são os comandos e o passo a passo de uso em uma aplicação. A partir disso, você consegue usar corretamente e entender a importância.

É importante destacar: não basta somente copiar os códigos e aplicar o que está no site; é preciso também saber por que a biblioteca existe e por que ela é importante. 

O que é a biblioteca Pyautogui

A biblioteca existe com uma função muito importante: automatizar funções básicas de teclado e mouse em uma aplicação. Dessa forma, permite fazer testes com maior precisão, de modo a agilizar o processo de desenvolvimento.

A biblioteca é muito fácil de usar e tem métodos que lembram bastante as funções que se usam na construção de sites. Logo, se você tem um pouco de experiência com desenvolvimento web, vai ter facilidade em desenvolver com ela. 

Aplicações

Imagine que você precisa de testes para verificar a consistência de uma aplicação. Esses testes incluem, naturalmente, funções básicas, como escrever e clicar, com o teclado e com mouse. 

É preciso conduzir vários desses testes, incansavelmente, para garantir que o software está bom.

Em algumas situações, você faz mudanças e precisa voltar e repetir a mesma sequência várias vezes, com poucas variações até. 

Não seria incrível simplesmente ter como automatizar essa sequência de testes? Dessa maneira, você garantiria menos perda de tempo com essas funções e poderia focar em outros aspectos. Ou simplesmente poderia descansar um pouco.

É para isso que serve essa biblioteca. A ideia é justamente tornar essas tarefas mais simplórias automáticas, de modo a facilitar os testes. É possível fazer cliques, mover mouse, escrever na tela e cumprir uma série de ações.

Com isso, o desenvolvedor consegue executar vários testes em bloco para assegurar a consistência de sua aplicação. É viável desenvolver uma lógica de repetição e condicional para os testes, seguindo o mesmo princípio normal da programação. 

Como usar a biblioteca Pyautogui?

Vamos agora comentar um pouco sobre o uso da biblioteca. Falamos primeiro sobre como instalar a biblioteca e depois sobre as funções. 

Instalando o Pyautogui

O comando principal no Windows é o:

py -m pip install pyautogui

Ou se você preferir determinar a versão do Python, pode executar da seguinte forma:

py -3.8 -m pip install pyautogui

Funções (comandos)

Agora, vamos conferir as funções típicas.

O pyautogui.position() pega a localização do Mouse. O pyautogui.moveTo é usado para movimentar o cursor em uma determinada coordenada, de acordo com X e Y passados.

Já o pyautogui.click() é usado para clicar no local onde o cursor está.

Para teclado, temos a opção de pyautogui.typewrite(), que escreve uma mensagem na posição atual do cursor.

Automação do mouse e teclado com o Pyautogui

Vamos a um exemplo prático.

É importante que você anote os passos que você faz para essa automação, ou seja, os passos que você executaria caso fosse executar esse programa.

Isso quer dizer que vamos anotar o que faríamos de forma manual para depois passarmos tudo isso para o código em Python para automatizar a ação.

O processo que vamos automatizar nessa aula é o backup de um arquivo no Google Drive, ou seja, vamos pegar um arquivo da nossa área de trabalho e colocá-lo dentro do Drive.

Código no Python

Esses serão os passos utilizados caso fôssemos fazer de forma manual, agora o objetivo é passar isso em formato de código para que o Python faça isso sozinho.

import pyautogui

import time

pyautogui.alert("O código vai começar. Não utilize nada do computador até o código finalizar!")

pyautogui.PAUSE = 0.5

# Abrir o Google Drive no computador

pyautogui.press('winleft')

pyautogui.write('firefox')

pyautogui.press('enter')

#time.sleep(1)

pyautogui.write('https://drive.google.com')

pyautogui.press('enter')

# Entrar na área de trabalho

pyautogui.hotkey('winleft','d')

# Clicar no arquivo e arrastar

pyautogui.moveTo(567,38)

pyautogui.mouseDown()

pyautogui.moveTo(756,635)

# Enquanto estiver arrastando mudar para a página do Google Drive

pyautogui.hotkey('alt','tab')

# Soltar o arquivo dentro do Google Drive

pyautogui.mouseUp()

# Esperar alguns segundos

time.sleep(5)

pyautogui.alert("O código foi finalizado. Você já pode utilizar o computador!")

Esse é o código que nós vamos utilizar para fazer nossa automação. Agora vamos a explicação de alguns comandos.

Lembrando que já passamos o link para a consulta das funções do Pyautogui para que você possa consultar quando tiver dúvidas.

Nós dividimos o nosso código em 6 partes neste caso, mas tudo vai depender da sua aplicação. O importante é dividir corretamente para que em cada passo você consiga de fato executar cada uma das ações planejadas.

Antes de iniciar o código, nós fizemos a chamada de duas bibliotecas, a Pyautogui que vai controlar mouse, teclado e tela do computador e a biblioteca time que vai permitir com que o usuário consiga fazer uma pausa antes de rodar o próximo código.

Nessa parte inicial, nós temos o comando pyautogui.alert que é um alerta ao usuário informando uma mensagem da sua escolha, assim que o usuário pressionar Ok na mensagem é que o código vai começar a rodar.

Para finalizar a parte inicial, temos o pyautogui.PAUSE, que é para que o programa faça uma pausa a cada código. 

Isso é útil, pois algumas ações no PC não respondem na mesma velocidade em que o código é executado, então é necessário uma pausa para abrir uma página, um programa ou coisas do tipo.

Abrir o Google Drive no computador

Aqui temos algumas funções da biblioteca que vão permitir com que o usuário pressione algumas teclas com o pyautogui.press e escreva utilizando o pyautogui.write.

Lembrando que o usuário pode escrever pressionando tecla por tecla, mas como a biblioteca já tem essa função é possível escrever um texto inteiro de uma só vez.

Nessa parte é possível utilizar o time.sleep para fazer uma pause no código além do que já fizemos em cada código, mas algumas ações podem precisar de um tempo maior, então podemos alterar esse tempo em partes específicas com esse código.

Isso é importante para não precisarmos colocar um tempo muito longo no PAUSE inicial e deixar o código muito lento.

Entrar na área de trabalho

Nessa parte, nós vamos utilizar o pyautogui.hotkey para que possamos utilizar atalhos, como CTRL + C ou o que utilizamos que foi Windows + D para ir até a área de trabalho.

Clicar no arquivo e arrastar

Após utilizar o atalho para ir até a área de trabalho nós vamos utilizar a função pyautogui.moveTo para poder mover o mouse até um local determinado.

IMPORTANTE: Para essa parte nós vamos utilizar o pyautogui.position para que você consiga verificar a posição do seu cursor no momento em que roda esse código.

Isso é MUITO IMPORTANTE, pois esse posicionamento vai depender da tela de cada computador, então é importante que verifique se está na posição correta.

Após posicionar o mouse nós vamos utilizar o pyautogui.mouseDown para clicar com o botão do mouse e segurar, ou seja, pressionar o botão.

Por fim, vamos movimentar até o local onde vamos soltar o arquivo, mas lembrando que ele só será solto dentro do drive que já abrimos.

Enquanto estiver arrastando mudar para a página do Google Drive

Nessa parte, vamos apenas utilizar o comando ALT + TAB para alterar as abas do computador e voltar para a janela onde temos o Google Drive aberto.

Vamos utilizar o comando pyautogui.hotkey(‘alt’,’tab’) para poder utilizar esse comando das duas teclas com o atalho.

Soltar o arquivo dentro do Google Drive

Essa parte é bem simples. Como já estamos com o arquivo selecionado, já arrastamos para a posição correta e já estamos na página do Google Drive, vamos apenas soltar o botão do mouse com o comando pyautogui.mouseUp.

Esperar alguns segundos

Por fim, vamos esperar alguns segundos para garantir que o arquivo foi salvo dentro do drive e vamos novamente enviar um alerta ao usuário.

Nesse alerta vamos informar que o código acabou e que já pode voltar a utilizar o computador normalmente.

Conclusão – Automação de Programa ou Sistema com PyAutogui no Python

Com isso concluímos a nossa automação para pegar um arquivo do computador e fazer um backup no Google Drive.

Lembrando que tudo o que foi feito foi utilizando a biblioteca Pyautogui como se o próprio usuário estivesse mexendo no computador.

Então é sempre bom verificar cada ação para ver o que precisa, onde precisa posicionar o mouse, onde precisa escrever, o que precisa ser escrito, qual tecla tem que ser pressionada.

Qual a quantidade de tempo que temos que esperar é fundamental, pois alguns programas demoram mais para abrir. Então é necessário verificar esse tempo para que não execute comandos que não serão executados no programa e possa gerar outra ação.

Agora é a parte principal! Praticar para que consiga executar todas as ações que precisa e automatizar seus sistemas e programas!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?