3 MANEIRAS DE FAZER RPA COM PYTHON

Compartilhe!

3 MANEIRAS DE FAZER RPA COM PYTHON

Nesta postagem, cobriremos alguns pacotes para fazer automação de processos robóticos com Python.

A automação de processos robóticos, ou RPA, é o processo de automatizar cliques do mouse e pressionamentos de teclado – ou seja, simular o que um usuário humano faria.

O RPA é usado em uma variedade de aplicações, incluindo entrada de dados, contabilidade, finanças e muito mais.

Estaremos cobrindo pynput , pyautogui e pywinauto . Cada um desses três pacotes pode ser usado como ponto de partida para construir seu próprio aplicativo RPA, bem como construir aplicativos de teste de IU.

pynput

O primeiro pacote que discutiremos é o pynput . Uma das vantagens do pynput é que funciona tanto no Windows quanto no macOS. Outro recurso interessante é que ele tem a funcionalidade de monitorar a entrada do teclado e do mouse. Vamos começar com pynput instalando-o com pip:

pip install pynput

Se tiver erro durante a instalação de uma olhadinha neste poste.

Depois de instalá-lo, você pode começar importando as classes Controller e Button . Em seguida, criaremos uma instância da classe Controller , que chamaremos de mouse . Isso simulará o mouse do seu computador para permitir que você clique em botões de forma programática e mova o mouse pela tela.

from pynput.mouse import Button, Controller
mouse = Controller()

A seguir, vamos examinar alguns comandos simples. Para clicar com o botão direito ou esquerdo, podemos usar a classe Button importada acima.

# Clique esquerdo do mouse
mouse.press(Button.left)
 
# Clique direito do mouse
mouse.press(Button.right)

Para clicar duas vezes, você só precisa adicionar o número dois como o segundo parâmetro.

mouse.press(Button.left, 2)

Também podemos mover o ponteiro do mouse para uma posição diferente usando o método move .

mouse.move(50, -50)

mouse.move(100, -200)

pynput também pode controlar o teclado. Para fazer isso, precisamos importar a classe Key

from pynput.keyboard import Key

Para pressionar algum texto, você pode usar o método keyboard.type.

keyboard.type("Teste JOBU")

Como mencionado acima, o pynput também pode monitorar os movimentos do mouse e os pressionamentos do teclado. Para saber mais sobre essa funcionalidade e pynput , verifique este link.

Pyautogui

Talvez o pacote mais conhecido para simular cliques do mouse e entradas do teclado seja a biblioteca pyautogui . pyautogui funciona em Windows, Linux e macOS. Se você não o instalou, pode obtê-lo usando pip:

pip install pyautogui

O pyautogui também é fácil de usar. Por exemplo, se você deseja simular a digitação de uma string de texto, basta usar o método typewrite :

pyautogui.typewrite("test pyautogui!")

Para clicar com o botão esquerdo do mouse, você pode usar o método de clique . Para clicar com o botão direito, você pode usar o método rightClick .

# left-click
pyautogui.click(100, 200)
 
# right-click
pyautogui.rightClick(100, 200)

Procurando uma imagem na tela

Um dos recursos mais legais do pyautogui é que ele pode pesquisar uma imagem na tela do computador. Isso é realmente útil se você precisar encontrar um botão específico para clicar. Você pode pesquisar uma imagem inserindo o nome do arquivo de imagem no método locateOnScreen . A função retorna a coordenada top esquerda junto com a altura e largura da imagem identificada.

location = pyautogui.locateOnScreen("random_image.png")
3 MANEIRAS DE FAZER RPA COM PYTHON

Para obter o centro da imagem identificada, use o método center . Então, você pode usar o clique método para clicar no centro da imagem identificada – neste caso, um botão na tela.

3 MANEIRAS DE FAZER RPA COM PYTHON
center = pyautogui.center(location)
 
pyautogui.click(center)

Às vezes, uma imagem pode não ser encontrada exatamente na tela. Nesse caso, você pode adicionar o parâmetro de confiança para locateOnScreen para dar ao Python um nível de confiança de identificação da imagem.

pyautogui.locateOnScreen("random_image.png", confidence = 0.95)

Fazendo uma captura de tela

Você pode fazer uma captura de tela com o pyautogui usando o método de captura de tela . Passar um nome de arquivo salvará a captura de tela nesse arquivo.

s = pyautogui.screenshot("exemplodeimagem.png")

Também é possível fazer uma captura de tela de uma região específica, em vez da tela inteira:

pyautogui.screenshot(region = c(0, 0, 100, 200))

pywinauto

No Windows, outra opção que podemos examinar é a biblioteca pywinauto. A principal desvantagem dessa biblioteca é que ela não funciona no macOS ou no Linux. No entanto, ele também oferece algumas vantagens interessantes para usuários do Windows. Primeiro, sua sintaxe é orientada a objetos – foi feita para ser mais Pythônica. Em segundo lugar, devido ao seu design, a biblioteca pode facilitar a execução de certas tarefas, como clicar em botões específicos ou localizar itens de menu em um aplicativo.

Por exemplo, vamos começar abrindo o Bloco de notas, digitando algum texto e salvando o arquivo. Podemos fazer isso usando o trecho de código abaixo. Aqui, iniciamos o Notepad usando a classe Application . Em seguida, nos referimos ao arquivo do Bloco de notas que acabamos de abrir por “UnitledNotepad”. Podemos usar Edit.type_keys para começar a digitar o texto.

from pywinauto.application import Application
 
app = Application(backend="uia").start("notepad.exe")
app.UntitledNotepad.Edit.type_keys("Starting notepad...")
app.UntitledNotepad.menu_select("File->SaveAs")
sub_app=app.UntitledNotepad.child_window(title_re = "Save As")
sub_app.FileNameCombo.type_keys("test_file.txt")
sub_app.Save.click()

Saiba mais sobre pywinauto verificando este link .

Conclusão

É isso para este post! Cobrimos três pacotes para fazer automação de processos robóticos com Python. 

Confira meus outros posts Python aqui .

Conheça nosso curso de RPA com certificação!

Compartilhe!