Localizar Elementos por Atributos em Selenium

Ana Maria Gomes
6 minutos de leitura

Conteúdos do tutorial

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á?

Instalando Selenium

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.

Entendendo Atributos de HTML

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.

Localizando Elementos por Atributos com Selenium

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 é?

Localizando por Name

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")

Localizando por Class

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.

Exemplos Práticos

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.

Conclusão

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!

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse:
Conteúdos do tutorial