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.
O que você vai ver hoje?
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:
- Abra o terminal no seu editor de código, como o VS Code ou Cursor;
- 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:
import pyautogui
import timeConhecendo 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 Fazer | Comando | Exemplo de Uso |
| Apertar uma tecla | pyautogui.press() | pyautogui.press('win') (Abre a janela do Windows) |
| Escrever um texto | pyautogui.write() | pyautogui.write('Chrome') (Digita o texto) |
| Clicar com o mouse | pyautogui.click() | pyautogui.click(X, Y) (Clica nas coordenadas X e Y) |
| Usar atalhos | pyautogui.hotkey() | pyautogui.hotkey('ctrl', 'c') (Simula Ctrl+C) |
| Pega a localização do mouse | pyautogui.position() | posiciona o mouse onde deseja clicar e usa pyautogui.position() |
| Move o mouse para uma coordenada específica da tela | pyautogui.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:
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.PAUSEdefine 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.
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:
- Abrir o navegador (Chrome);
- Entrar no site. Por exemplo: hashtagtreinamentos.com/curso-python;
- Preencher o formulário;
- Enviar o formulário.
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:
- Aperta a tecla Windows:
pyautogui.press('win'); - Digita o nome do programa:
pyautogui.write('Chrome'); - 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.

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:
pyautogui.PAUSE = 1Acessando o site
O próximo passo é acessar o site. Neste caso será o site da Hashtag Treinamentos no curso de Python:
- Escreva na barra do navegador o link do site:
pyautogui.write('hashtagtreinamentos.com/curso-python'); - 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:
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:
- Crie um arquivo temporário
posicao.pye importe as bibliotecaspyautoguietime;
import pyautogui
import time- Use o comando de pausa e o comando de impressão de posição:
time.sleep(5)
print(pyautogui.position())- Execute o código. Você terá 5 segundos para mover o mouse e colocá-lo exatamente sobre o campo que deseja clicar;
- Após 5 segundos, o código exibirá no terminal a posição X e Y do seu mouse;

- 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:
- Preenche o nome:
pyautogui.write('Rodrigo'); - Passa para o e-mail:
pyautogui.press('tab'); - Preenche o e-mail:
pyautogui.write('pythonimpressionador@gmail.com'); - Passa para o telefone:
pyautogui.press('tab'); - Preenche o telefone:
pyautogui.write('19 999999999'); - Passa para o botão:
pyautogui.press('tab')(o TAB seleciona o botão); - Envia o formulário:
pyautogui.press('enter').
O código completo segue abaixo:
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!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








