Localizar Elementos com XPATH em Selenium

Avatar de Ana Maria Ana Maria
4 minutos de leitura 4 meses atrás

Se você está começando no mundo da programação e tem interesse em Web Scraping e automação web, certamente já ouviu falar em ferramentas como BeautifulSoup e Selenium. Neste artigo, vamos focar no Selenium e, mais especificamente, em como localizar elementos em uma página web utilizando XPATH. Este conhecimento é essencial para otimizar a coleta de dados de sites e a execução de processos online automáticos. Vamos começar?

Instalando Selenium

Antes de mais nada, precisamos instalar o Selenium. Ele é uma biblioteca que permite a automação de navegadores web e pode ser instalada facilmente via pip. Abra o terminal e digite o seguinte comando:

pip install selenium

Para este tutorial, usaremos a versão 4.13.0 do Selenium, que é compatível com a maioria dos navegadores modernos.

Entendendo o HTML

HTML é a linguagem de marcação usada para criar páginas web. Ele define a estrutura e o conteúdo de uma página usando “tags”. Por exemplo, <div>, <span>, <a> e <button> são todas tags HTML que podem conter texto, links, imagens e outras informações.

O que é XPATH?

XPATH é uma linguagem de consulta que permite selecionar nós em um documento XML ou HTML. No contexto do Selenium, usamos XPATH para identificar elementos específicos em uma página web para interagir com eles, como clicar em um botão ou preencher um formulário.

A Importância do XPATH

Utilizar XPATH é crucial porque ele oferece uma maneira flexível e precisa de localizar elementos na página, mesmo que eles estejam profundamente aninhados ou não tenham identificadores únicos como IDs ou classes. Com XPATH, você pode criar caminhos que apontam exatamente para o elemento que você deseja manipular.

Exemplos de Códigos para Localizar Elementos por XPATH com Selenium

Vamos ver alguns exemplos práticos de como localizar elementos usando XPATH no Selenium. Para isso, é necessário que você já tenha o Selenium instalado e configurado em seu ambiente de desenvolvimento.

Localizando um Elemento Único

Suponha que queremos localizar um botão de login em uma página. O HTML do botão pode ser algo como:

<button id="login-button">Login</button>

Para localizar este botão com Selenium, usamos o seguinte código:

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

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

login_button = driver.find_element(By.XPATH, "//button[@id='login-button']")

Neste exemplo, //button[@id='login-button'] é o XPATH que seleciona o botão com o ID ‘login-button’.

Localizando Múltiplos Elementos

Agora, imagine que queremos localizar todos os botões em uma página. O código seria:

buttons = driver.find_elements(By.XPATH, "//button")

Aqui, //button é o XPATH que seleciona todos os elementos <button> na página.

Localizando Elementos com Condições Complexas

XPATH também permite localizar elementos com condições mais complexas. Por exemplo, para localizar um botão que contém o texto ‘Enviar’ e tem uma classe específica, usaríamos:

enviar_button = driver.find_element(By.XPATH, "//button[contains(text(), 'Enviar') and contains(@class, 'classe-enviar')]")

Este XPATH seleciona um botão que contém o texto ‘Enviar’ e tem ‘classe-enviar’ como parte de sua classe.

Conclusão

Localizar elementos com XPATH é uma habilidade fundamental para quem trabalha com automação web. Com a prática, você se tornará cada vez mais eficiente em escrever expressões XPATH que localizam exatamente o que você precisa em uma página web. Lembre-se de que a precisão é essencial, pois um XPATH mal construído pode levar a automações falhas ou ineficientes. Agora é com você: explore, pratique e torne-se um mestre na arte de localizar elementos com XPATH em Selenium!

Curso Gratuito

Curso gratuito de Python

Do zero ao primeiro projeto em apenas 2 horas

Criar conta gratuita

Comentários

Comentar
Você tem o Acesso Básico.
Libere seu acesso ao suporte dos professores Garanta seu acesso PRO para tirar todas suas dúvidas com nossa equipe.
Seja PRO