top of page

Automatização de Tarefas com Python- pyautogui

Em um mundo cada vez mais orientado pela tecnologia, a capacidade de automatizar tarefas repetitivas se torna não apenas uma habilidade valiosa, mas muitas vezes essencial. Isso pode nos ajudar naquela tarefas chatas que temos que fazer, como ficar tirando print da tela para evidenciar o funcionamento de uma funcionalidade.


Automatização com Python e pyautogui, vamos lá!

A robot with the logo of Python programming language doing hard work and a relaxed programmer on a beach drinking a cocktail

O Python, uma das linguagens de programação mais populares e versáteis do mundo, emerge como uma ferramenta de destaque nessa missão de otimização de processos.


Entre suas inúmeras bibliotecas, destaca-se a pyautogui, específica para a automação de interações com a interface gráfica do usuário.


A essência da automação é permitir que os computadores realizem atividades sem a necessidade de intervenção humana constante. Enquanto muitas linguagens e ferramentas podem alcançar essa meta em diversos contextos, a beleza do Python reside em sua simplicidade e legibilidade, tornando a curva de aprendizado mais suave para iniciantes e a implementação rápida para profissionais.


A lib pyautogui, em particular, nos oferece um leque de funcionalidades que vão desde simular movimentos e cliques do mouse até capturar e identificar elementos na tela. Seja para iniciar um aplicativo, inserir dados automaticamente ou até mesmo jogar um jogo de forma automatizada, esta biblioteca se destaca como uma solução robusta e de fácil implementação.


Convidamos você a se aprofundar neste universo de possibilidades, explorando os potenciais e as nuances da automatização com Python e pyautogui. Prepare-se para transformar suas rotinas diárias e descobrir novas formas de otimizar seu trabalho e seu tempo!


Principais Funcionalidades da lib Python pyautogui.


Controle do Mouse

moveTo(x, y): Desloca o cursor do mouse para as coordenadas (x, y) na tela.
click(x, y, button='left'): Realiza um clique (podendo ser esquerdo, direito ou do meio) na posição especificada.
dragTo(x, y): Mantém o botão do mouse pressionado enquanto o move para a posição determinada.

Manipulação do Teclado

write('texto'): Simula a digitação do texto fornecido.
press('key'): Simula a pressão de uma única tecla (ex: 'enter', 'esc', 'f1').
hotkey('ctrl', 'c'): Pressiona uma combinação de teclas simultaneamente.

Gestão de Screenshots e Localização na Tela


screenshot('captura.png'): Captura um screenshot da tela inteira ou de uma região específica.
locateOnScreen('imagem.png'): Procura uma imagem na tela e retorna suas coordenadas. Útil para identificar botões, ícones e outros elementos gráficos.
center(x, y): Retorna as coordenadas do centro de uma região ou imagem detectada.

Informações sobre a Tela

size(): Fornece as dimensões da tela em pixels (largura e altura).
position(): Retorna a posição atual do cursor do mouse.

Case: Salvando uma Página da Web como PDF com pyautogui


Vamos fazer um programa exemplo, que tal usar navegador Google Chrome, acessar uma página da web e salvar a página como PDF. Pode ser muito util para enviar para um cliente por exemplo.


Explicação:

  1. O código começa importando as bibliotecas necessárias: pyautogui (como pag) e time.

  2. A função salvar_pagina_como_pdf é definida para realizar a tarefa de automação.

  3. Dentro da função:

  4. O menu Iniciar é aberto, e o "Google Chrome" é buscado e iniciado.

  5. A URL fornecida é digitada na barra de endereços e acessada.

  6. Após aguardar a página carregar, o atalho para impressão (Ctrl + P) é acionado.

  7. Por padrão, a opção "Salvar como PDF" é a primeira selecionada no Chrome, então apenas pressionamos 'enter' duas vezes: uma para confirmar a opção e outra para salvar o arquivo.

  8. A função é então executada para a URL 'https://www.exemplo.com.br'.

import pyautogui as pag
import time

# Função para salvar página como PDF
def salvar_pagina_como_pdf(url):
    # Abre o menu Iniciar e digita 'Google Chrome'
    pag.hotkey('ctrl', 'esc')
    time.sleep(1)
    pag.write('Google Chrome')
    time.sleep(1)
    pag.press('enter')

    # Aguarda o Chrome abrir
    time.sleep(3)

    # Digita a URL e pressiona 'enter'
    pag.write(url)
    pag.press('enter')

    # Aguarda a página carregar
    time.sleep(5)

    # Abre o menu de impressão (Ctrl + P)
    pag.hotkey('ctrl', 'p')
    time.sleep(3)

    # Seleciona 'Salvar como PDF' e clica em 'Salvar'
    pag.press('enter')
    time.sleep(3)
    pag.press('enter')

# Executa a função para a URL desejada
salvar_pagina_como_pdf('https://www.globo.com/')

Considerações: Esse script é específico para computadores Windows com o Google Chrome. Adaptações podem ser necessárias para outros sistemas operacionais ou navegadores. Além disso, é essencial considerar possíveis variações na velocidade de carregamento ou na interface do navegador, ajustando os tempos de espera (time.sleep()) conforme necessário.



Agradeço imensamente a sua visita em nosso blog. Espero que as informações tenham sido claras e úteis para você. Caso tenha dúvidas, críticas ou sugestões, não hesite em entrar em contato comigo. Ademais, convido-o a se juntar ao nosso engajado grupo no Telegram através do link https://t.me/dadosbr. Lá, promovemos discussões enriquecedoras e trocas de experiências sobre o universo dos dados. Além disso, se deseja se aprofundar ainda mais e acompanhar conteúdos exclusivos, convido-o a curtir e se inscrever no nosso canal do YouTube DADOSBR. Até a próxima e continue conosco nessa jornada de conhecimento!

bottom of page