Automatizando Tarefas com Python e Selenium – Criando um Bot para Abrir Sites e Preencher Formulários

Automatizar tarefas repetitivas é um dos usos mais práticos do Python. Imagine abrir um site, fazer login, preencher um formulário ou até mesmo coletar dados automaticamente. Tudo isso é possível com a ajuda da biblioteca Selenium.

Neste artigo, você vai aprender:

  1. O que é o Selenium e para que serve.

  2. Como instalar e configurar no Python.

  3. Criar um bot que abre um site automaticamente.

  4. Preencher campos de formulário e enviar.

  5. Boas práticas e cuidados ao usar automação.



1. O que é o Selenium?

Selenium é uma ferramenta muito usada para automatizar navegadores web.
Com ele, você pode:

  • Abrir páginas automaticamente.

  • Clicar em botões, links e menus.

  • Preencher formulários de login, cadastro, pesquisa, etc.

  • Capturar dados de páginas (web scraping avançado).

É como se o Python “virasse um usuário real” navegando no site.


2. Instalando e configurando

Instalar a biblioteca Selenium

No terminal:

pip install selenium

Baixar o WebDriver

O Selenium precisa de um driver do navegador para funcionar. O mais comum é o ChromeDriver (para Google Chrome).

  1. Verifique a versão do seu Chrome (Configurações > Ajuda > Sobre o Google Chrome).

  2. Baixe o ChromeDriver compatível: https://chromedriver.chromium.org/downloads.

  3. Extraia e coloque o arquivo em uma pasta conhecida (ou adicione ao PATH do sistema).


3. Seu primeiro bot: abrindo um site

Exemplo simples: abrir o Google.

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

# Configurar o navegador
driver = webdriver.Chrome()  

# Abrir o site
driver.get("https://www.google.com")

# Esperar alguns segundos
time.sleep(5)

# Fechar o navegador
driver.quit()

O código acima abre o Google, espera 5 segundos e fecha.


4. Preenchendo formulários

Agora, vamos criar um bot que pesquisa algo no Google.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time

# Iniciar o Chrome
driver = webdriver.Chrome()
driver.get("https://www.google.com")

# Encontrar o campo de pesquisa
campo = driver.find_element(By.NAME, "q")

# Digitar uma pesquisa
campo.send_keys("Python Selenium tutorial")
campo.send_keys(Keys.RETURN)  # Pressiona Enter

# Esperar carregar resultados
time.sleep(5)

print("Título da página:", driver.title)

driver.quit()

Explicação:

  • find_element(By.NAME, "q") → encontra o campo de pesquisa pelo atributo name.

  • send_keys("texto") → digita no campo.

  • Keys.RETURN → simula a tecla Enter.


5. Preenchendo formulário de login (exemplo genérico)

Vamos simular o preenchimento de um login:

from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("https://exemplo.com/login")

# Preencher usuário e senha
usuario = driver.find_element(By.ID, "username")
senha = driver.find_element(By.ID, "password")

usuario.send_keys("meu_usuario")
senha.send_keys("minha_senha")

# Clicar no botão de login
botao = driver.find_element(By.ID, "login-button")
botao.click()

time.sleep(5)
driver.quit()

Aqui, usamos By.ID para localizar elementos. Você também pode usar:


6. Boas práticas e cuidados

  • Não abuse: alguns sites bloqueiam acessos automatizados se perceberem tráfego suspeito.

  • Sempre respeite os termos de uso do site.

  • Use time.sleep() ou WebDriverWait para esperar o carregamento correto dos elementos.

  • Mantenha o ChromeDriver atualizado.

  • Para automações mais avançadas, use seletores XPath e CSS para encontrar elementos complexos.


7. Exercício prático

Crie um bot que:

  1. Acesse um site de formulários gratuitos (ex: https://demo.seleniumeasy.com/input-form-demo.html).

  2. Preencha todos os campos automaticamente.

  3. Clique em "Submit".


8. Conclusão

Com o Selenium, você pode automatizar desde tarefas simples (abrir sites, preencher formulários) até processos complexos (testes automatizados, web scraping com interação, robôs de navegação).

O próximo passo pode ser:

  • Usar o WebDriverWait para lidar com elementos que demoram a carregar.

  • Criar bots de login e scraping para sites mais avançados.

  • Integrar o Selenium com Pandas para coletar e salvar dados em planilhas.

Comentários

Postagens mais visitadas deste blog

Laços de Repetição em Python: Conceitos e Exemplos Práticos

Manipulação de Arquivos no C#: Como Ler, Escrever e Trabalhar com Arquivos de Forma Simples

Como Instalar o Xamarin com C#: Passo a Passo Completo