CodeGym /Cursos /Python SELF PT /Buscando elementos pelos atributos HTML: id, class

Buscando elementos pelos atributos HTML: id, class

Python SELF PT
Nível 35 , Lição 3
Disponível

1. Fundamentos da busca de elementos

Métodos para buscar elementos

Antes de mergulhar de cabeça no código, é essencial entender como podemos buscar elementos numa página web com o Selenium. O Selenium oferece vários métodos práticos para encontrar elementos:

  • find_element_by_id(): Busca um elemento usando seu identificador único (id).
  • find_element_by_name(): Permite buscar um elemento através do atributo name.
  • find_element_by_class_name(): Busca elementos que possuem uma classe (class) específica.
  • find_element_by_tag_name(): Usa o nome da tag para encontrar elementos, como div, p, a.

Vamos começar com um exemplo simples — buscando um elemento pelo id. Imagine que perdemos o botão com o texto "Botão Mágico" e precisamos encontrá-lo:

Python

from selenium import webdriver

# Configuração do driver e abertura do navegador
driver = webdriver.Chrome()
driver.get('https://example.com')

# Buscar o elemento pelo seu id
magic_button = driver.find_element_by_id('magic_button_id')

# Trabalhar com o elemento encontrado (por exemplo, extrair o texto)
print(magic_button.text)

# Finalização da sessão
driver.quit()

Trabalhando com elementos encontrados

Depois de encontrar um elemento, é hora de decidir o que fazer com ele. Solte a imaginação e use os métodos do Selenium, como text para pegar o conteúdo de texto do elemento ou get_attribute('attribute_name') para extrair o valor de qualquer atributo do elemento.

Suponha que o elemento seja um link, e queremos saber para onde ele aponta. É assim que fazemos:

Python

# Buscar o elemento com o link
link_element = driver.find_element_by_class_name('link_class')

# Extrair o URL do atributo href
link_url = link_element.get_attribute('href')
print(f'Este link aponta para: {link_url}')

2. Método find_element_by_id()

O método find_element_by_id() é uma das maneiras mais rápidas e confiáveis para buscar um elemento na página. Ele localiza elementos pelo atributo único id. Em HTML, o atributo id é um identificador único, por isso podemos ter certeza de que o método retornará apenas o elemento necessário.

Exemplo de uso:

Python

element = driver.find_element_by_id("submit-button")

Neste exemplo, o Selenium busca o elemento com id="submit-button" e o armazena na variável element. Esse método é prático para buscar botões, formulários, campos de entrada e outros elementos únicos que raramente se repetem numa página.

Quando usar?

Usar find_element_by_id() é recomendado sempre que o elemento possuir um identificador único id, já que o método garante acesso rápido e preciso ao elemento.

3. Método find_element_by_name()

O método find_element_by_name() busca elementos pelo atributo name. Ele é frequentemente usado para formulários e campos de entrada, especialmente quando vários elementos podem ter a mesma classe ou id, mas diferentes valores para o atributo name. Ao contrário de id, o atributo name não precisa ser único, e às vezes há vários elementos com o mesmo name na página.

Exemplo de uso:

Python

element = driver.find_element_by_name("username")

Esse código busca o elemento com name="username". Normalmente é o campo de entrada do nome de usuário nos formulários de login.

Quando usar?

Esse método é útil se o elemento na página não possui um id único, mas tem o atributo name. Ele é especialmente eficiente para formulários de entrada, onde os elementos frequentemente são identificados por name.

6. Aplicações práticas

Agora sabemos como buscar elementos por id, classe e nome. Essa habilidade é super útil, especialmente para automatizar interações com páginas web. Os elementos encontrados podem ser usados para preencher formulários, clicar em botões ou extrair informações — tarefas que podem acelerar muito o seu trabalho e te livrar de tarefas repetitivas.

Imagine uma empresa onde cada funcionário gasta 10 minutos por dia preenchendo o mesmo formulário online. É aí que entra o Selenium: ele pode lidar com toda essa rotina em alguns minutos enquanto você toma seu café da manhã.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION