Guia Básico de Selenium com Python

O Selenium é uma ferramenta poderosa para automação de navegadores web, amplamente utilizada em testes de software e Web Scraping. Para quem está começando na programação e tem interesse em otimizar a coleta de dados de sites e a execução de processos online automáticos, entender como localizar elementos por atributos em Selenium é essencial. Neste artigo, vamos abordar desde a instalação do Selenium até exemplos práticos de como localizar elementos por atributos. Vamos lá?
Antes de mais nada, precisamos instalar o Selenium em nosso ambiente de desenvolvimento. Isso pode ser feito facilmente através do gerenciador de pacotes pip. Abra o terminal e digite o seguinte comando:
pip install selenium
Para este tutorial, usaremos a versão 4.13.0 do Selenium. Certifique-se de ter essa versão ou uma mais recente para seguir os exemplos.
Os atributos em HTML são valores adicionais que configuram os elementos ou ajustam seu comportamento. Eles são fundamentais para a interação com a página, pois através deles podemos identificar, por exemplo, campos de texto, botões e outros elementos interativos. Os atributos mais comuns são id
, class
e name
.
id
: Identificador único de um elemento na página.class
: Utilizado para agrupar elementos com características visuais semelhantes.name
: Nome do elemento, muitas vezes usado em formulários.Agora que já sabemos o que são atributos, vamos ver como localizá-los com Selenium. Vamos começar com um exemplo simples de um campo de texto que possui um id
:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("https://www.exemplo.com")
elemento = driver.find_element(By.ID, "id-do-elemento")
No código acima, iniciamos o driver do Chrome, acessamos uma página e localizamos um elemento pelo seu id
. Simples, não é?
Se o elemento que queremos interagir possui um atributo name
, podemos localizá-lo da seguinte maneira:
elemento = driver.find_element(By.NAME, "nome-do-elemento")
Já para localizar um elemento pela sua classe, usamos o seguinte código:
elemento = driver.find_element(By.CLASS_NAME, "classe-do-elemento")
Lembre-se que classes podem ser compartilhadas por vários elementos, então esse método pode não ser o mais preciso se você estiver buscando um elemento único.
Vamos a um exemplo mais concreto. Imagine que estamos trabalhando com um formulário de login que possui os seguintes elementos:
<input type="text" name="usuario" id="campo-usuario" class="input-texto"/>
<input type="password" name="senha" id="campo-senha" class="input-texto"/>
<button type="submit" id="botao-enviar">Entrar</button>
Para interagir com esses elementos usando Selenium, faríamos o seguinte:
# Localizando pelo ID
campo_usuario = driver.find_element(By.ID, "campo-usuario")
campo_senha = driver.find_element(By.ID, "campo-senha")
# Preenchendo os campos de texto
campo_usuario.send_keys("seu_usuario")
campo_senha.send_keys("sua_senha")
# Localizando o botão de enviar e clicando nele
botao_enviar = driver.find_element(By.ID, "botao-enviar")
botao_enviar.click()
Neste exemplo, localizamos os campos de usuário e senha pelo id
e preenchemos com as credenciais. Em seguida, localizamos o botão de enviar e realizamos um clique. Com esses passos, conseguimos automatizar um login em uma página web.
Localizar elementos por atributos em Selenium é uma habilidade fundamental para quem deseja automatizar a interação com páginas web. Com a prática, você se tornará cada vez mais eficiente em identificar os elementos corretos e interagir com eles de forma automatizada. Lembre-se de que a prática leva à perfeição, então não hesite em experimentar e testar seus scripts em diferentes cenários.
Esperamos que este guia tenha sido útil para você dar os primeiros passos com Selenium. Continue explorando e aprendendo, e em breve você estará criando automações web incríveis!
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xp