fbpx

Python: interagindo com interfaces utilizando imagens

O #dataholic Matheus Nascimento escreveu um artigo sobre a linguagem Python. Bora aprender!

Olá pessoal! Hoje venho apresentar uma solução utilizando Python para quem gosta de aplicar a linguagem na automação de processos, em especial, softwares instalados no computador.

A linguagem de programação Python tem se tornado a mais popular entre as diversas linguagens do mercado, muito disso se dá pela diversidade de soluções que ela propõe e a facilidade de aprendizado.

A automação de processos é um dos mundos onde o Python se destaca, com bibliotecas como selenium e pyautogui, onde é possível criar scripts que imitam a ação humana na execução de atividades em um computador.

Neste artigo falarei sobre a utilização da biblioteca PyAutoGui para interagir com interfaces de usuário e clicar em botões por meio de imagens em png (prometo trazer um artigo sobre automação do navegador utilizando selenium rsrs).

A biblioteca PyAutoGui tem o poder de controlar o mouse e o teclado, com comandos para clicar, digitar, arrastar elementos, dar duplo clique, identificar campos na tela, tirar screenshots, entre diversas outras possibilidades.

Primeiramente, vamos instalar a biblioteca, no prompt de comando ou no terminal da ferramenta (utilizo o VS Code com a extensão do Jupyter Notebook), digite pip install pyautogui, também instale o módulo OpenCV para aplicar o argumento “confidence”, digite pip install opencv-python.

Depois, importe a biblioteca no código e aplique as seguintes configurações:

import pyautogui as p

p.PAUSE = 3

p.FAILSAFE = False

O comando PAUSE é utilizado para definir o intervalo em segundos de cada execução da linha de código, neste caso, a execução de uma etapa a outra possui um intervalo de três segundos.

FAILSAFE é habilitado por padrão para que você possa facilmente interromper a execução de seu programa movendo manualmente o mouse para o canto superior esquerdo da tela. Assim que o mouse estiver neste local, pyautogui lançará uma exceção e sairá, portanto, aplicamos False para desativar.

O comando locateCenterOnScreen é o responsável por identificar elementos na tela por meio da utilização de imagens.

O exemplo que irei utilizar irá focar a área de trabalho e identificar o ícone do Google Chrome por meio do print retirado.

Utilizando a ferramenta de captura do Windows, registre o ícone (ou botão) em um arquivo png, certifique-se de deixá-lo bem centralizado na imagem, e para prevenir erros, mantenha o nome do arquivo sempre em minúsculo (chrome.png).

Salve o print na mesma pasta onde o script está sendo desenvolvido.

Então, assim ficará a construção da etapa do código que identifica a imagem e faz a interação com o ícone.

p.hotkey(‘win’,’m’)

chrome = p.locateCenterOnScreen(‘chrome.png’, confidence = 0.9)

p.doubleClick(chrome)

Apliquei hotkey para focar a área de trabalho, e por meio do comando locateCenterOnScreen adicionando uma confiança de 0.9, armazenei a posição do ícone em uma variável chamada chrome, e por fim, com o doubleClick o navegador é aberto. Veja o código funcionando no vídeo abaixo.

Utilizei o ícone do Google Chrome apenas para exemplificação, porém, esta solução pode ser aplicada para botões em sistemas, campos que você precisa clicar e escrever um texto, exportar arquivos e assim por diante.

Espero que tenham gostado do conteúdo e fico à disposição para conversarmos mais sobre como utilizar o python na automação de processos!

 

Curta, comente e compartilhe com os amigos. 💙

 

Compartilhar no facebook
Compartilhar no twitter
Compartilhar no linkedin
Compartilhar no whatsapp
Compartilhar no email

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts recentes

Gráfico de Linha Dinâmico

Artigo por: Rafael Barbosa Vou mostrar como fazer um gráfico de linha com medidas dinâmicas e que alteram o tipo de dado sem precisar utilizar indicadores

Leia mais »