PyAutoGUI no Python: Automação de Programa, Sistema e Tarefa

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

Para automatizar qualquer programa ou sistema com Python, use a biblioteca PyAutoGUI, que controla mouse e teclado como se fosse você. Instale com pip install pyautogui, anote os passos que você faria à mão e traduza cada um em um comando: pyautogui.press(), pyautogui.write(), pyautogui.click() e pyautogui.hotkey(). As coordenadas de clique mudam de tela para tela.

Automação de Programas e Sistemas com PyAutoGUI no Python

A biblioteca PyAutoGUI é uma verdadeira aliada quando o assunto é automação no Python. Com ela, você consegue simular ações de teclado e mouse, criar testes mais precisos e agilizar processos que, manualmente, seriam repetitivos e demorados.

Esse tipo de automação é muito útil tanto para quem está desenvolvendo softwares quanto para quem quer acelerar tarefas simples no computador.

Neste artigo, você vai aprender a criar automações com Python. Juntos construiremos um robô que controla seu computador e automatiza tarefas que você faria de forma manual utilizando o PyAutoGUI. Então faça o download do material abaixo e vem comigo!

Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

O que é o PyAutoGUI?

O PyAutoGUI foi criado com um objetivo bem direto: automatizar ações básicas de mouse e teclado. Assim, você consegue criar testes repetitivos, simular cliques, movimentos, digitação e várias outras ações de forma totalmente automática.

Como o Python estará no comando do seu computador, todas as tarefas que você executa manualmente podem ser automatizadas.

Para que serve o PyAutoGUI?

Imagine que você precisa testar uma aplicação diversas vezes. Isso envolve clicar, digitar, abrir janelas, arrastar arquivos… tudo sempre na mesma sequência.

Agora pense em repetir isso dezenas ou centenas de vezes.

É aí que o PyAutoGUI brilha. Ele:

  • automatiza movimentos do mouse;
  • simula digitação;
  • executa cliques e arrastos;
  • reproduz sequências de ações sempre da mesma forma;
  • permite testar fluxos completos sem esforço humano.

Com isso, você economiza tempo, reduz erros manuais e consegue focar no que realmente importa no desenvolvimento.

É importante 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?

A seguir, vamos ver como instalar e como usar os principais comandos dessa biblioteca.

Instalando o Pyautogui

O PyAutoGUI não vem instalado por padrão no Python. Para instalá-lo:

  1. Abra o terminal no seu editor de código, como o VS Code ou Cursor;
  2. Digite o seguinte comando (tudo em minúsculas): pip install pyautogui.

Lembre-se que para conseguir usar o comando pip é necessário ter o Python instalado. Caso não tenha feito a instalação, veja a publicação Como configurar o VSCode para Python.

Importando as bibliotecas

Sempre que uma biblioteca for utilizada ela precisa ser importada. Para este projeto, usaremos a biblioteca PyAutoGUI e uma outra biblioteca nativa do Python, a time, que será responsável por controlar o tempo de execução do código.

Dessa forma, garantimos que o computador carregue todas as informações e termine de executar uma tarefa antes de seguir para o próximo comando.

Para importar as bibliotecas, crie um arquivo chamado main.py e insira o seguinte código:

Python
import pyautogui
import time

Conhecendo os principais comandos

Agora vamos conferir os principais comandos do PyAutoGUI. Ele oferece funções para clicar, pressionar teclas, escrever textos e até executar atalhos — todos começando com pyautogui.

O que FazerComandoExemplo de Uso
Apertar uma teclapyautogui.press()pyautogui.press('win') (Abre a janela do Windows)
Escrever um textopyautogui.write()pyautogui.write('Chrome') (Digita o texto)
Clicar com o mousepyautogui.click()pyautogui.click(X, Y) (Clica nas coordenadas X e Y)
Usar atalhospyautogui.hotkey()pyautogui.hotkey('ctrl', 'c') (Simula Ctrl+C)
Pega a localização do mousepyautogui.position()posiciona o mouse onde deseja clicar e usa pyautogui.position()
Move o mouse para uma coordenada específica da telapyautogui.moveTo(x, y)pyautogui.moveTo(567, 38) move o mouse para a coordenada 567 e 38

Planejando a automação

Uma automação nada mais é do que a tentativa de fazer o computador substituir um trabalho que você faria manualmente.

Por isso, a primeira coisa que precisamos fazer é pensar e anotar, em formato de texto mesmo, como o desafio seria resolvido: liste todos os passos que você faria manualmente. Depois, você transforma esses passos em instruções para o Python.

Exemplo prático: automatizando o envio de um arquivo para o Google Drive

Aqui está o código completo do exemplo:

Python
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')

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!")

Entendendo o código

Para deixar tudo organizado, dividimos o código em etapas. A separação ajuda na leitura, na depuração e na hora de adaptar o código para outros cenários.

1. Configurações iniciais

Chamamos as bibliotecas pyautogui e time.

  • pyautogui.alert() exibe uma mensagem antes do script iniciar.
  • pyautogui.PAUSE define uma pausa entre cada ação.

Isso é essencial porque o computador nem sempre responde tão rápido quanto o script executa.

2. Abrindo o Google Drive

Aqui usamos:

  • pyautogui.press() para pressionar teclas;
  • pyautogui.write() para digitar texto;
  • time.sleep() (caso necessário) para dar tempo de carregamento.

3. Acessando a área de trabalho

Usamos pyautogui.hotkey() para atalhos como Windows + D.

4. Clicando e arrastando o arquivo

Essa é a etapa mais visual:

  • pyautogui.moveTo() posiciona o mouse;
  • pyautogui.mouseDown() segura o botão;
  • pyautogui.mouseUp() solta o botão.

Muito importante: Use pyautogui.position() para descobrir as coordenadas da sua tela. Cada monitor é diferente — não copie os valores sem ajustar no seu computador.

5. Mudando para a janela do Drive

pyautogui.hotkey('alt', 'tab') troca a janela aberta.

6. Soltando o arquivo e finalizando

Depois de soltar o arquivo, o script espera alguns segundos e exibe um alerta informando que a automação terminou.

Ícone PythonPython Impressionador

Você vai aprender a linguagem de Programação que mais cresce no Mundo para fazer automações incríveis, desenvolver sites, fazer análises de dados, trabalhar com Ciência de Dados, Inteligência Artificial, mesmo que você nunca tenha tido nenhum contato com Programação na vida.

Começar agoraSeta para a direita
Fundo PythonTelas Python
Luz Python

Preenchendo Formulário com PyAutoGUI

Agora veremos um segundo exemplo onde vamos criar uma automação que preencha um formulário em um site, os passos para isso seriam:

Criando a Automação com Python

Já organizamos uma sequência de passos, agora precisamos escrever o código responsável por executar essa automação.

Abrindo o navegador

Para abrir o Google Chrome, por exemplo, o robô faria o seguinte, simulando as ações manuais:

  1. Aperta a tecla Windows: pyautogui.press('win');
  2. Digita o nome do programa: pyautogui.write('Chrome');
  3. Aperta Enter para abrir: pyautogui.press('enter').

Para ver se tudo está funcionando corretamente, você pode rodar a automação. Para isso, clique no ícone de Play no canto superior direito da tela do VS Code.

Tela do VSCode. Na tela lateral à esquerda temos a pasta Python aberta com o arquivo main.py. No centro temos o código da automação que abre o navegador. No canto superior direito temos o ícone de play

Ajustando a Velocidade

Caso você execute comandos muito rápidos em sequência, um pode atropelar o outro, especialmente se o seu computador for um pouco mais lento. Para evitar isso, é possível adicionar uma pausa de 1 segundo, por exemplo, entre cada comando com o seguinte código:

Codigo
pyautogui.PAUSE = 1

Acessando o site

O próximo passo é acessar o site. Neste caso será o site da Hashtag Treinamentos no curso de Python:

  1. Escreva na barra do navegador o link do site: pyautogui.write('hashtagtreinamentos.com/curso-python');
  2. Aperta Enter para abrir: pyautogui.press('enter');

Com isso já é possível acessar o site, mas quando estamos automatizando a abertura de sites ou sistemas, é importante esperar a página carregar completamente.

É nesse momento que entra a biblioteca "Time" que importamos junto com o PyAutoGUI. Ela vai ser responsável por criar uma pausa longa, cerca de 5 segundos para finalizar o carregamento da página. Para isso, adicione o código:

Codigo
time.sleep(5)

Após 5 segundos o fluxo volta a rodar normalmente.

Preenchendo e enviando o formulário

Para preencher um formulário, o PyAutoGUI precisa saber exatamente onde clicar. A tela do seu computador é vista como um retângulo, onde cada ponto tem uma coordenada X e Y. O ponto de origem (0, 0) é o canto superior esquerdo da tela.

Você não precisa decorar esses números. Você pode usar um "macete" para capturar a posição do mouse:

  1. Crie um arquivo temporário posicao.py e importe as bibliotecas pyautogui e time;
Python
import pyautogui
import time
  1. Use o comando de pausa e o comando de impressão de posição:
Codigo
time.sleep(5)
print(pyautogui.position())
  1. Execute o código. Você terá 5 segundos para mover o mouse e colocá-lo exatamente sobre o campo que deseja clicar;
  2. Após 5 segundos, o código exibirá no terminal a posição X e Y do seu mouse;
Tela do terminal com as coordenadas X e Y da posição do mouse na tela
  1. Copie os valores e use o comando pyautogui.click(X, Y) no seu código do arquivo principal. Não copie valores de X e Y de outras telas (nem deste artigo), pois a posição é aproximada e depende da resolução da sua tela. A automação deve ser feita no computador que irá executá-la

Depois de clicar no primeiro campo, preencher o restante do formulário é simples.

Em vez de calcular a posição de clique para cada campo (o que você pode fazer, se quiser), você pode usar a tecla TAB. Em formulários (na web ou em sistemas da empresa), a tecla TAB leva você do campo atual para o próximo.

Por exemplo, podemos usar a sequência abaixo para preencher os três campos do formulário do site da Hashtag Treinamentos para o curso de Python:

  1. Preenche o nome: pyautogui.write('Rodrigo');
  2. Passa para o e-mail: pyautogui.press('tab');
  3. Preenche o e-mail: pyautogui.write('pythonimpressionador@gmail.com');
  4. Passa para o telefone: pyautogui.press('tab');
  5. Preenche o telefone: pyautogui.write('19 999999999');
  6. Passa para o botão: pyautogui.press('tab') (o TAB seleciona o botão);
  7. Envia o formulário: pyautogui.press('enter').

O código completo segue abaixo:

Python
import pyautogui
import time

pyautogui.PAUSE = 1

pyautogui.press('win')
pyautogui.write('Chrome')
pyautogui.press('enter')
pyautogui.write('hashtagtreinamentos.com/curso-python')
pyautogui.press('enter')

time.sleep(5)

# troque X e Y pelas coordenadas do SEU monitor
# (descubra com print(pyautogui.position()))
pyautogui.click(x=567, y=380)
pyautogui.write('seu nome')
pyautogui.press('tab')
pyautogui.write('seu e-mail')
pyautogui.press('tab')
pyautogui.write('seu telefone')
pyautogui.press('tab')
pyautogui.press('enter')

Conclusão

Pense no PyAutoGUI como um maestro invisível que executa exatamente aquilo que você “compõe” no código. Em vez de você mover o mouse, clicar, digitar e alternar janelas manualmente, o Python reproduz cada ação na ordem e no tempo que você definiu — sempre rápido, preciso e sem erros repetitivos.

Mas lembre-se: como o PyAutoGUI imita o comportamento real de um usuário, cada detalhe importa.
É fundamental validar:

  • onde o mouse deve ser posicionado;
  • o que precisa ser digitado;
  • quais teclas devem ser pressionadas;
  • quanto tempo o programa precisa para carregar cada etapa.

Se um sistema demora mais para abrir ou responder, ajuste as pausas. Isso evita que o script execute comandos antes da hora e garanta que tudo ocorra de forma segura e previsível.

Agora vem a parte mais importante: praticar. Quanto mais você aplicar o PyAutoGUI no dia a dia, mais natural ficará automatizar processos, criar rotinas inteligentes e acelerar tarefas que antes eram manuais e repetitivas.

Se quiser continuar evoluindo em Python, recomendo nosso minicurso gratuito de automação em Python e o curso completo Python Impressionador.

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

Perguntas frequentes sobre automação com PyAutoGUI

1. O PyAutoGUI funciona no Mac e no Linux?

Sim, a biblioteca é multiplataforma. No Linux ela pede dependências extras na instalação e, no macOS, é preciso autorizar o Python a controlar o computador nas permissões de Acessibilidade do sistema. Os atalhos também mudam: no Mac, command no lugar de ctrl.

2. Como parar uma automação do PyAutoGUI que travou?

Jogue o mouse rapidamente para o canto superior esquerdo da tela. Esse é o failsafe da biblioteca: ao detectar o ponteiro em (0, 0), ela interrompe o script na hora. Por isso, deixe o failsafe ligado enquanto estiver testando.

3. Por que a automação clica no lugar errado?

Porque as coordenadas dependem da resolução e do layout da sua tela. Nunca reaproveite valores de X e Y de outro computador — capture os seus com print(pyautogui.position()). Quando a janela pode abrir em posições diferentes, é mais seguro navegar pela tecla Tab do que por coordenada fixa.

4. Qual é a diferença entre PyAutoGUI e Selenium?

O PyAutoGUI controla a tela inteira e serve para qualquer programa — ERP, planilha, sistema de desktop —, simulando mouse e teclado. O Selenium controla o navegador por dentro, localizando os elementos do HTML: é bem mais estável para a web, mas só funciona na web.

Hashtag Treinamentos

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


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

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos