Como obter o URL atual com Selenium

How Get Current Url With Selenium



Selenium é uma ferramenta para teste de navegador, automação da web e web scraping. Enquanto estiver trabalhando em seus projetos Selenium, você pode precisar saber a URL da página que seu navegador controlado pelo Selenium está exibindo. Essas informações podem ser úteis para rastrear o URL de onde você extraiu alguns dados para que possa atualizar os dados automaticamente usando algum script.

Neste artigo, vou mostrar como obter a URL atual do navegador com Selenium. Então vamos começar.







Pré-requisitos:

Para experimentar os comandos e exemplos deste artigo, você deve ter,



1) Uma distribuição Linux (preferencialmente Ubuntu) instalada em seu computador.
2) Python 3 instalado em seu computador.
3) PIP 3 instalado em seu computador.
4) Python virtualenv pacote instalado em seu computador.
5) Navegadores Mozilla Firefox ou Google Chrome instalados em seu computador.
6) Deve saber como instalar o Firefox Gecko Driver ou Chrome Web Driver.



Para cumprir os requisitos 4, 5 e 6, leia meu artigo Introdução ao Selenium com Python 3 em Linuxhint.com.





Você pode encontrar muitos artigos sobre outros tópicos em LinuxHint.com . Certifique-se de verificá-los se precisar de alguma ajuda.

Configurando um diretório de projeto:

Para manter tudo organizado, crie um novo diretório de projeto selênio-url / do seguinte modo:



$mkdir -pvselênio-url/motoristas

Navegue até o selênio-url / diretório do projeto da seguinte forma:

$CDselênio-url/

Crie um ambiente virtual Python no diretório do projeto da seguinte maneira:

$virtualenv .venv

Ative o ambiente virtual da seguinte maneira:

$fonte.venv/sou/ativar

Instale a biblioteca Selenium Python em seu ambiente virtual usando PIP3 da seguinte maneira:

$ pip3 install selenium

Baixe e instale todos os drivers da web necessários no motoristas / diretório do projeto. Eu expliquei o processo de download e instalação de drivers da web em meu artigo Introdução ao Selenium com Python 3 . Se você precisar de alguma ajuda, pesquise LinuxHint.com para esse artigo.

Usarei o navegador Google Chrome para a demonstração neste artigo. Então, vou usar o cromedriver binário com selênio. Você deve usar o motorista gecko binário se você quiser usar o navegador Firefox.

Crie um script Python ex01.py no diretório do projeto e digite as seguintes linhas de códigos nele.

a partir deselênioimportardriver da web
a partir deselênio.driver da web.comum.chaves importarChaves
opções=webdriver.ChromeOptions()
opções.sem cabeça = Verdade
navegador=webdriver.cromada(executable_path='./drivers/chromedriver',opções=opções)
navegador.pegue('https://duckduckgo.com/')
imprimir(navegador.current_url)
navegador.fechar()

Quando terminar, salve o ex01.py Script Python.

Aqui, a linha 1 e a linha 2 importam todos os componentes necessários da biblioteca Python selenium.

A linha 4 cria um objeto Chrome Options e a linha 5 ativa o modo headless para o navegador Chrome.

A linha 7 cria um Chrome navegador objeto usando o cromedriver binário do motoristas / diretório do projeto.

A linha 9 diz ao navegador para carregar o site duckduckgo.com.

A linha 10 imprime o URL atual do navegador. Aqui, browser.current_url propriedade é usada para acessar o URL atual do navegador.

A linha 12 fecha o navegador.

Execute o script Python ex01.py do seguinte modo:

$ python3 ex01.py

Como você pode ver, o URL atual ( https://duckduckgo.com ) está impresso no console.

No exemplo anterior, visitei o site duckduckgo.com e imprimi o URL atual no console. Isso retorna o URL da página que estamos visitando. Não é muito sofisticado, pois já sabemos o URL da página. Agora, vamos pesquisar algo no DuckDuckGo e tentar imprimir o URL da página de resultados da pesquisa no console.

Crie um script Python ex02.py no diretório do projeto e digite as seguintes linhas de códigos nele.

a partir deselênioimportardriver da web
a partir deselênio.driver da web.comum.chaves importarChaves
opções=webdriver.ChromeOptions()
opções.sem cabeça = Verdade
navegador=webdriver.cromada(executable_path='./drivers/chromedriver',opções=opções)
navegador.pegue('https://duckduckgo.com/')
imprimir(navegador.current_url)
searchInput=navegador.find_element_by_id('search_form_input_homepage')
searchInput.send_keys('selênio hq'+ Chaves.DIGITAR)
imprimir(navegador.current_url)
navegador.fechar()

Quando terminar, salve o ex02.py Script Python.

Aqui, as linhas 1-10 são as mesmas que em ex01.py . Portanto, não os estou explicando novamente.

A linha 12 encontra a caixa de texto de pesquisa e a armazena no searchInput variável.

A linha 13 envia a consulta de pesquisa selênio hq no searchInput caixa de texto e pressiona o chave usando Keys.ENTER .

Assim que a página de pesquisa for carregada, browser.current_url é usado para acessar o URL atual atualizado.

A linha 15 imprime o URL atual atualizado no console.

A linha 17 fecha o navegador.

Execute o ex02.py Script Python da seguinte maneira:

$ python3 ex02.py

Como você pode ver, o script Python ex02.py imprime 2 URLs.

O primeiro é o URL da página inicial do mecanismo de pesquisa DuckDuckGo.

O segundo é o URL atual atualizado após realizar uma pesquisa no mecanismo de pesquisa DuckDuckGo usando a consulta selênio hq .

Conclusão:

Neste artigo, mostrei como obter a URL atual do navegador da web usando a biblioteca Selenium Python. Agora, você deve ser capaz de tornar seus projetos Selenium mais interessantes.