CodeGym /Curso Java /Python SELF PT /Ações principais no navegador

Ações principais no navegador

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

1. Abrindo páginas web: primeiros passos

Se você já sonhou em ser o mestre das páginas web, está na aula certa. Hoje a gente vai aprender a abrir páginas web com Selenium e interagir com elas. Imagina que você está controlando o navegador como um maestro conduzindo uma orquestra, só que a orquestra é a internet e a partitura é o código Python. Bora começar nosso show!

Antes de interagir com uma página web, a gente precisa abrir ela, certo? É como entrar numa biblioteca antes de procurar o livro. No Selenium, abrir páginas web é feito com um driver de navegador. Por enquanto, vamos assumir que você já instalou Selenium e o driver correspondente ao navegador (tipo ChromeDriver ou GeckoDriver). Se você assistiu à aula anterior, já sabe como fazer isso. Se não, volta lá e dá uma olhada de novo.

Bora ver como começar abrindo uma página web:

Python

from selenium import webdriver

# Criando uma instância do web driver para o Chrome
driver = webdriver.Chrome()

# Abrindo uma página web
driver.get('https://www.example.com')

# Exibindo o título da página no console
print(driver.title)

# Fechando o navegador
driver.quit()

O que acontece no código:

  1. Importamos o webdriver: É o coração do Selenium, que permite controlar o navegador.
  2. Criamos o driver: Aqui a gente cria o objeto driver para o Chrome. Pode ser qualquer navegador para o qual você tenha um driver.
  3. Abrimos a página: O método get() carrega a página pelo URL especificado.
  4. Pegamos o título: Usando driver.title, a gente exibe o título da página atual.
  5. Fechamos o navegador: O método quit() encerra o trabalho com o navegador.

Prontinho, a gente abriu nossa primeira página web! Esse é o primeiro passo pra dominação mundial... ops... quer dizer, pra automação!

2. Navegação e trabalho com abas

Só abrir a página não é suficiente. Muitas vezes, a gente precisa navegar entre páginas ou até abrir várias abas. Imagina que você é um viajante que pode se teletransportar entre lugares. Com Selenium, isso é possível.

Navegando entre páginas

Navegar de uma página pra outra é tão simples quanto abrir:

Python

# Indo para outra página
driver.get('https://www.example.org')

# Usando o método back() para voltar à página anterior
driver.back()

# Usando o método forward() para ir para frente
driver.forward()

Trabalhando com abas

E abrir uma nova aba? É tipo levar um notebook pras bibliotecas de várias cidades!

Python

# Abrindo uma nova aba e alternando para ela
driver.execute_script("window.open('https://www.example.com', '_blank');")
driver.switch_to.window(driver.window_handles[1])

# Voltando para a primeira aba
driver.switch_to.window(driver.window_handles[0])

Explicação:

  • execute_script(): Usado pra executar código JavaScript no navegador. Aqui estamos abrindo uma nova aba.
  • switch_to.window(): Esse método permite alternar entre abas. Usamos window_handles pra acessar a lista de todas as abas abertas.

3. Interagindo com a página web

Agora que aprendemos a abrir e navegar pelas páginas, bora interagir diretamente com elas — como um desenvolvedor de verdade! É tipo aprender a dançar com cada página web e fazer isso com estilo.

Interface de interação

Vamos a um exemplo de como interagir com os elementos na página. Por exemplo, procurar um campo de texto e digitar nele:

Python

# Encontrando um elemento pelo nome
search_box = driver.find_element_by_name('q')

# Digitando texto no campo de texto encontrado
search_box.send_keys('Selenium Python')

# Encontrando o botão de busca e clicando nele
submit_button = driver.find_element_by_name('btnK')
submit_button.click()

Explicação:

  • find_element_by_name(): Método usado pra encontrar um elemento pelo nome. Aqui estamos procurando pelo campo de texto de busca.
  • send_keys(): Permite digitar texto no elemento encontrado.
  • click(): Usado pra simular um clique em um elemento, tipo um botão.

Métodos adicionais

Pra interações mais complexas com elementos, tem vários métodos disponíveis. Dá uma olhada na documentação do Selenium pra se aprofundar mais. Por enquanto, vamos ver alguns básicos.

  • find_element_by_id(): Encontra o elemento pelo ID.
  • find_element_by_class_name(): Encontra o elemento pela classe.
  • find_element_by_css_selector(): Usa seletores CSS pra procurar.

Agora você pode abrir e explorar páginas como um verdadeiro viajante da web! Não tenha medo de experimentar e tentar coisas novas. Como dizem, "os erros são os degraus no caminho do sucesso", especialmente se você tem certeza de que seu código é confiável e testado!

Erros comuns

Trabalhar com Selenium pode ser meio perigoso se você não souber dos problemas mais comuns. Um dos erros mais frequentes é esquecer de encerrar a sessão do navegador. Isso pode levar a processos de navegador travados na memória. Sempre use driver.quit() no final do seu script.

Outro problema chato no Selenium é quando a estrutura das páginas web muda. Se um elemento foi encontrado por um seletor e o desenvolvedor do site mudou a estrutura do HTML, seu script pode parar de funcionar. É como se de repente a porta mudasse de lugar enquanto você tentava entrar numa sala. É importante escrever códigos flexíveis e atualizá-los regularmente pra acompanhar as mudanças no site.

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