Você está na página 1de 6

15/12/2022 14:24 Automação de GUI com Python – exemplo de uso do pyautogui | iMasters

Fórum iMasters (https://forum.imasters.com.br/)


we are developers Portal E-Commerce Brasil (http://www.ecommercebrasil.com.br)
CBR (https://cryptobusinessreview.com/)

(/) POWERED
(HTTP://DEVELOPERS.TOTVS.COM/)
BY: (https://www.facebook.com/PortaliMasters) (https://twitter.com/i

Back-End(https://imasters.com.br/back-end)
Mobile(https://imasters.com.br/mobile)
Front End(https://imasters.com.br/front-end)
DevSecOps(https://imasters.com.br/devsecops)
Design & UX(https://imasters.com.br/design-ux)
Data(https://imasters.com.br/data)
APIs e Microsserviços(https://imasters.com.br/apis-microsservicos)
Crypto(https://cryptobusinessreview.com/)

PATROCINADOR:
BACK-END

28 MAR, 2016

Automação de GUI com Python – exemplo de uso do pyautogui


(https://www.facebook.com/sharer? (https://twitter.com/share? (https://www.linkedin.com/shareArticle?
u=https://imasters.com.br/back-end/automacao-de- url=https://imasters.com.br/back-end/automacao- url=https://imasters.com.br/back-end/automacao-de-gui- COMPARTILHE!
gui-com-python-exemplo-de-uso-do-pyautogui-2) de-gui-com-python-exemplo-de-uso-do-pyautogui- com-python-exemplo-de-uso-do-pyautogui-2)
2)

BHISHAN BHANDARI
(HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)
Tem 8 artigos publicados com 6400
visualizações desde 2015

BHISHAN BHANDARI (HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)

É estudante da Ciência da Computação no Deerwalk Institute of Technology, que fica no Nepal. É apaixonado por automação e prefere a linguagem
de programação Python. Trabalha como programador JavaScript e escreve códigos para resolver tarefas repetitivas do dia a dia.

LEIA MAIS (HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)

28 MAR, 2016
Automação de GUI com Python – exemplo de uso do pyautogui (https://imasters.com.br/back-end/automacao-de-gui-com-python-exemplo-de-
uso-do-pyautogui-2)

17 FEV, 2016
Google Search usando Selenium e Python – o básico sobre Selenium Python (https://imasters.com.br/back-end/google-search-usando-selenium-e-
python-o-basico-sobre-selenium-python)

22 JAN, 2016
Conheça um script verificador de site WordPress em Python (https://imasters.com.br/back-end/conheca-um-script-verificador-de-site-wordpress-
em-python)

O
https://imasters.com.br/back-end/automacao-de-gui-com-python-exemplo-de-uso-do-pyautogui-2 1/6
15/12/2022 14:24 Automação de GUI com Python – exemplo de uso do pyautogui | iMasters

O lá, leitores! Hoje vou apresentar uma introdução a um módulo de automação de GUI em Python, pyautogui. Ele é um módulo de
automação de GUI para Python2 e Python3 que fornece métodos para controlar mouse e teclado. Esse módulo pode ser usado para
criar bots para automatizar tarefas repetitivas, enquanto você pode desfrutar do seu café.

“Pyautogui pode fazer qualquer coisa que um usuário humano sentado na frente do computador pode fazer, exceto derramar café
no teclado”, diz o geek responsável por esse módulo bacana.

Siga o link abaixo para instalar o pyautogui na sua máquina.

https://pyautogui.readthedocs.org/en/latest/install.html (https://pyautogui.readthedocs.org/en/latest/install.html)

Sem mais iteração sobre a introdução, eu gostaria de apresentar algumas noções básicas sobre o módulo.

1 – Localizando coordenadas do cursor do mouse


>>> import pyautogui

>>> pyautogui.position()

(850, 504)

>>>

Ele retorna as coordenadas x e y atuais da posição do cursor do mouse. Em uma tela de computador, o ponto superior esquerdo é a
origem ou (0,0).

2 – Movendo o cursor do mouse


>>> pyautogui.moveTo(10,10)

>>> pyautogui.moveTo(10,10,duration=1)

A função moveTo pega a coordenada x e a coordenada y como parâmetros, enquanto a duração pode ser passada como o terceiro
parâmetro, que é opcional e usado para especificar a quantidade de tempo em segundos para chegar a uma coordenada especifica.
A segunda é uma abordagem humana, enquanto a primeira é um movimento instantâneo do cursor.

3 – Clicando
>>> pyautogui.click(80,80)

>>> pyautogui.doubleClick(80,80)

>>> pyautogui.rightClick(80,80)

É possível clicar em uma determinada coordenada na tela por meio do método de clique que também fornece doubleClick,
métodos RightClick pegando os parâmetros coordenada x e coordenada y em todos os casos.

4 – Keystrokes (pressionando de teclas)


Para digitar, primeiro precisamos localizar uma área apropriada. Portanto, você pode querer usar este método depois de cliques em
alguma coordenada em que é possível digitar. Você pode usar duas ou mais instruções para executar simultaneamente uma após a
outra, separando cada declaração com ponto e vírgula. Por exemplo, eu especifiquei as coordenadas da barra de URL no navegador
e, em seguida, digitei meu nome nela a partir dos seguintes comandos/declarações

>>> pyautogui.click(50,80);pyautogui.typewrite(“Bhishan”)

>>> pyautogui.click(50,80);pyautogui.typewrite(“Bhishan”, interval=0.2)

Nós podemos passar um intervalo de parâmetro opcional em segundos para especificar o tempo em segundos entre cada letra ou
combinação de teclas.

5 – Hot Key
O método hotkey pode ser usado nos casos em que é necessário pressionar duas ou mais teclas ao mesmo tempo. Um exemplo
prático é o Ctrl + S para salvar um arquivo ou Ctrl + Shift + q para sair.

>>> pyautogui.hotkey(‘Ctrl’,’Shift’,’q’)

Você pode ver todas as possíveis chaves de mapeamento das teclas que podem ser digitadas por meio deste método

https://imasters.com.br/back-end/automacao-de-gui-com-python-exemplo-de-uso-do-pyautogui-2 2/6
15/12/2022 14:24 Automação de GUI com Python – exemplo de uso do pyautogui | iMasters
>>> Pyautogui.KEYBOARD_KEYS

Bom, isso é o suficiente para você começar bem em automação de GUI via pyautogui. Abaixo está um bot que eu fiz usando o
módulo para automatizar uma tarefa chata que eu tinha, iterando a história por trás da necessidade do bot. Eu sou um estudante
de graduação no quarto período de Ciência da Computação (quero dizer, estudante preguiçoso). Eu nunca faço anotações em
qualquer uma das classes que eu participo. Na época de exames, eu confio nas fotos das anotações que meus amigos me enviam.
Como sempre, eu peguei as fotos, mas desta vez todas as imagens estavam em modo paisagem por algum motivo (cerca de 100-110
imagens). Seria muito tempo perdido ter que girar cada imagem para conseguir ler. Então, eu escrevi umas 7-8 linhas de código para
fazer um bot que abria cada um dos arquivos de imagem, girava e salvava enquanto eu jantava. Eu usei o módulo de tempo, junto
com pyautogui para ter algum intervalo de tempo entre as declarações.

1 import pyautogui

2 import time

3 pyautogui.click(450,450);pyautogui.typewrite('graphicsnotes');pyautogui.press('enter')

4 time.sleep(2)

5 for i in range(107):

6 pyautogui.press('right');pyautogui.press('enter')

7 pyautogui.hotkey('ctrl','r');pyautogui.hotkey('ctrl','s')

8 time.sleep(2)

9 pyautogui.press('esc')

time.sleep(2)

10
time.sleep(2)
11

O conceito é clicar em qualquer lugar na tela do desktop. Eu escolhi uma coordenada aleatória (450,450). Em seguida, digitei o
nome da pasta para localizar a pasta seguido de Enter para abri-la. Depois, de forma iterativa, cliquei no botão direito do mouse
para selecionar o arquivo de imagem, abrindo o arquivo de imagem pressionando Enter, seguido pela tecla de atalho ‘Ctrl’ + ‘r’ para
girar a imagem; em seguida, ‘Ctrl’ + ‘s’ para salvá-la. Finalmente, pressionei esc para fechar o arquivo e repeti o processo para ir
para o arquivo de imagem seguinte. Eu tinha um total de 107 imagens, então, eu iterei 107 vezes no meu programa para atingir todos
os arquivos de imagem.

Até lá a próxima e feliz automação com o pyautogui! 🙂

Leia a documentação aqui: https://pyautogui.readthedocs.org (https://pyautogui.readthedocs.org).

***

Bhishan Bhandari faz parte do time de colunistas internacionais do iMasters. A tradução do artigo é feita pela redação iMasters, com
autorização do autor, e você pode acompanhar o artigo em inglês no link: http://www.thetaranights.com/gui-automation-with-
python/ (http://www.thetaranights.com/gui-automation-with-python/)

De 0 a 10, o quanto você recomendaria este artigo para um amigo?

0 1 2 3 4 5 6 7 8 9 10

ARTIGOS PUBLICADOS POR ESTE AUTOR

BHISHAN BHANDARI (HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)


28 MAR, 2016

Automação de GUI com Python – exemplo de uso do pyautogui (https://imasters.com.br/back-end/automacao-de-gui-com-python-exemplo-de-uso-


do-pyautogui-2)

BHISHAN BHANDARI (HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)


17 FEV, 2016

Google Search usando Selenium e Python – o básico sobre Selenium Python (https://imasters.com.br/back-end/google-search-usando-selenium-e-
python-o-basico-sobre-selenium-python)

BHISHAN BHANDARI (HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)


22 JAN, 2016

Conheça um script verificador de site WordPress em Python (https://imasters.com.br/back-end/conheca-um-script-verificador-de-site-wordpress-em-


python)

BHISHAN BHANDARI (HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)


19 JAN, 2016

https://imasters.com.br/back-end/automacao-de-gui-com-python-exemplo-de-uso-do-pyautogui-2 3/6
15/12/2022 14:24 Automação de GUI com Python – exemplo de uso do pyautogui | iMasters
Exemplo de uso da API import.io (https://imasters.com.br/apis-microsservicos/exemplo-de-uso-da-api-import-io)

BHISHAN BHANDARI (HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)


15 JAN, 2016

Classificação de um array contendo elementos JSON com chave específica do JSON usando JavaScript (https://imasters.com.br/front-
end/classificacao-de-um-array-contendo-elementos-json-com-chave-especifica-do-json-usando-javascript)

BHISHAN BHANDARI (HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)


11 JAN, 2016

Códigos Python para teste de interface mobile amigável (https://imasters.com.br/back-end/codigos-python-para-teste-de-interface-mobile-amigavel)

Bhishan Bhandari
(http://www.thetaranights.com/) (mailto:bhishanbhandari.articulista@im
8 Artigo(s)
SAIBA MAIS
(HTTPS://IMASTERS.COM.BR/PERFIL/BHISHANBHANDARI)
É estudante da Ciência da Computação no Deerwalk Institute of Techno
no Nepal. É apaixonado por automação e prefere a linguagem de progra
Python. Trabalha como programador JavaScript e escreve códigos para
tarefas repetitivas do dia a dia.

https://imasters.com.br/back-end/automacao-de-gui-com-python-exemplo-de-uso-do-pyautogui-2 4/6
15/12/2022 14:24 Automação de GUI com Python – exemplo de uso do pyautogui | iMasters

5 comentários Classificar por Mais antigos

Adicione um comentário...

Jonathan Ferreira
Muito bom!!! Agradeço pelo tutorial.
Curtir · Responder · 4 a

Eduardo Henrique
Olá, tem alguma forma de ele ficar pegando a localização atual do
mouse não apenas a primeira ?
Curtir · Responder · 2 a

Vaniele Silva
tu faz assim caraa

def posicao():

return pyautogui.position()

while True:

posicao()

# ou se quiser pode printar

print(posicao())
Curtir · Responder · 2 a

Jeferson Assis Da Silva


como fazer para que ele entenda a quantidade de itens que existe na
area de trabalho? tenho uma lista com dados que sao preenchidos
automaticamente, uma vez por semana quero pegar esses dados e
salvar. porem ele faz o fluxo apenas uma vez na mesma linha. seria
necessario criar todo o fluxo para quando acabar a 1º linha ele dar um
scroll para baixo e iniciar novamente o fluxo? e ao final disso como ele
entende que acabou as mensagens?
Curtir · Responder · 1 a

Robson Luis
ola boa noite....

qual modulo seria ideal para automatizar, em uma tela de jogo, fazer
ele procurar por um item e quando achar clicar.?
Curtir · Responder · 25 sem

Julio Pereira
Como clicar e mover o cursor ao mesmo tempo?
Curtir · Responder · 20 sem

Plugin de comentários do Facebook

Este projeto é mantido e patrocinado pelas empresas

(https://apiki.com/) (https://huaweicloud.imasters.com.br/)

(http://www.dialhost.com.br)

(https://www.idexo.com.br/)

(https://www.maxipago.com/)
(https://dev.paygo.com.br/)

https://imasters.com.br/back-end/automacao-de-gui-com-python-exemplo-de-uso-do-pyautogui-2 5/6
15/12/2022 14:24 Automação de GUI com Python – exemplo de uso do pyautogui | iMasters

(https://www.schoolofnet.com/cursos/gratuitos?
(https://www.userede.com.br/) (https://developers.totvs.com/)
utm_source=imasters&utm_medium=patrocinio&utm_campaign=institucional_patrocin
institucional&utm_content=institucional_patrocinio_imasters_link-
institucional)

ASSINE NOSSA

Newsletter
Fique em dia com as novidades do iMasters! Assine nossa newsletter e receba
conteúdos especiais curados por nossa equipe

Qual é o seu e-mail?

ASSINAR

SOBRE O IMASTERS (HTTPS://IMASTERS.COM.BR/P/SOBRE-O-IMASTERS)

POLÍTICA DE PRIVACIDADE (HTTPS://IMASTERS.COM.BR/P/POLITICA-DE-PRIVACIDADE)

FALE CONOSCO (HTTPS://IMASTERS.COM.BR/FALE-CONOSCO/)

QUERO SER AUTOR (HTTPS://IMASTERS.COM.BR/P/QUERO-SER-AUTOR)

FÓRUM (HTTPS://FORUM.IMASTERS.COM.BR/)

CBR (HTTPS://CRYPTOBUSINESSREVIEW.COM/)

https://imasters.com.br/back-end/automacao-de-gui-com-python-exemplo-de-uso-do-pyautogui-2 6/6

Você também pode gostar