RPA (Robotic Process Automation) e a automacao de tarefas repetitivas que humanos fazem em computadores: preencher formularios, copiar dados entre sistemas, gerar relatorios, enviar e-mails. Com Python, voce pode criar robos de automacao poderosos sem depender de ferramentas caras como UiPath ou Automation Anywhere. Este guia mostra como.
O que e RPA e quando usar
RPA e ideal para tarefas que sao: repetitivas (feitas da mesma forma sempre), baseadas em regras (sem julgamento humano necessario), de alto volume (feitas muitas vezes por dia/semana) e entre sistemas diferentes (copiar dados de um sistema para outro).
Exemplos reais: extrair dados de notas fiscais em PDF e inserir no ERP, baixar relatorios de um portal web e consolidar em uma planilha, preencher formularios em sistemas legados que nao tem API, enviar e-mails personalizados com anexos para uma lista de clientes, conciliar pagamentos entre banco e sistema interno.
Ferramentas Python para RPA
Selenium: automacao de navegador web
Para interagir com sites e sistemas web. Simula cliques, preenchimento de campos, downloads:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
driver = webdriver.Chrome()
driver.get(“https://sistema-interno.empresa.com/login”)
# Login
driver.find_element(By.ID, “usuario”).send_keys(“admin”)
driver.find_element(By.ID, “senha”).send_keys(“senha_segura”)
driver.find_element(By.ID, “btn-login”).click()
# Esperar pagina carregar
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, “dashboard”)))
# Navegar e extrair dados
driver.get(“https://sistema-interno.empresa.com/relatorios”)
tabela = driver.find_element(By.ID, “tabela-vendas”)
linhas = tabela.find_elements(By.TAG_NAME, “tr”)
PyAutoGUI: automacao de desktop
Para aplicativos desktop que nao tem interface web — simula mouse e teclado:
import pyautogui
import time
# Abrir aplicativo
pyautogui.hotkey(“win”, “r”)
time.sleep(0.5)
pyautogui.typewrite(“notepad”, interval=0.05)
pyautogui.press(“enter”)
time.sleep(1)
# Digitar texto
pyautogui.typewrite(“Relatorio gerado automaticamente”, interval=0.02)
# Clicar em posicao especifica
pyautogui.click(x=500, y=300)
# Localizar imagem na tela e clicar
botao = pyautogui.locateOnScreen(“botao_salvar.png”, confidence=0.9)
if botao:
pyautogui.click(botao)
openpyxl e pandas: Excel sem abrir Excel
Para manipular planilhas diretamente:
import openpyxl
import pandas as pd
# Ler Excel
df = pd.read_excel(“vendas_mensal.xlsx”, sheet_name=”Janeiro”)
# Processar
resumo = df.groupby(“regiao”).agg(
total_vendas=(“valor”, “sum”),
ticket_medio=(“valor”, “mean”),
quantidade=(“valor”, “count”)
).reset_index()
# Escrever resultado em novo Excel formatado
with pd.ExcelWriter(“resumo_janeiro.xlsx”, engine=”openpyxl”) as writer:
resumo.to_excel(writer, sheet_name=”Resumo”, index=False)
pdfplumber e tabula-py: extrair dados de PDFs
import pdfplumber
with pdfplumber.open(“nota_fiscal.pdf”) as pdf:
for pagina in pdf.pages:
texto = pagina.extract_text()
tabelas = pagina.extract_tables()
for tabela in tabelas:
for linha in tabela:
print(linha)
Projeto completo: robo de conciliacao bancaria
Um caso real: baixar extrato bancario do portal do banco (Selenium), ler os lancamentos, comparar com os pagamentos registrados no ERP (API ou planilha), gerar relatorio de divergencias em Excel, enviar por e-mail automaticamente.
O fluxo completo em Python: Selenium abre o portal do banco e faz login. Navega ate a pagina de extratos. Baixa o CSV do periodo. Pandas le o CSV e compara com os dados do ERP. openpyxl gera o relatorio formatado. smtplib envia o e-mail com o relatorio em anexo.
Agendamento e monitoramento
Windows Task Scheduler: agendar a execucao do script Python em horarios especificos. Crie um .bat com: python C:scriptsrobo_conciliacao.py.
Para monitoramento: registre logs detalhados de cada execucao, envie alertas (Slack, Teams, e-mail) em caso de falha, armazene capturas de tela em caso de erro (PyAutoGUI.screenshot()), crie um dashboard simples com Streamlit para acompanhar execucoes.
RPA vs API: quando usar cada um
Se o sistema tem API, use a API. RPA e para quando NAO existe API ou integracao disponivel — sistemas legados sem interface programatica, portais web de terceiros, aplicativos desktop antigos. RPA e um paliativo valioso, mas quando possivel, a integracao via API e sempre mais confiavel e rapida.
Tem um projeto em mente?
Somos especialistas em transformar ideias em produtos digitais. Apps, sites, automações e IA — vamos construir juntos.