Como obter o URL atual com selênio

Como obter o URL atual com selênio
O selênio é uma ferramenta para testes de navegador, automação da web e raspagem na web. Enquanto trabalha em seus projetos de selênio, pode ser necessário conhecer o URL da página que seu navegador da Web controlado por selênio está exibindo. Essas informações podem ser úteis para acompanhar o URL de onde você extraiu alguns dados para poder atualizar os dados usando automaticamente algum script.

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

Pré -requisitos:

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

1) Uma distribuição Linux (de preferência Ubuntu) instalada no seu computador.
2) Python 3 instalado em seu computador.
3) PIP 3 instalado no seu computador.
4) Python virtualenv Pacote instalado no seu computador.
5) Mozilla Firefox ou Google Chrome Web navegadores instalados no seu computador.
6) Deve saber como instalar o driver do Firefox Gecko ou o Chrome Web Driver.

Para cumprir os requisitos 4, 5 e 6, leia meu artigo Introdução ao selênio com Python 3 no Linuxhint.com.

Você pode encontrar muitos artigos sobre os outros tópicos no Linuxhint.com. Não deixe de conferir se precisar de alguma assistência.

Configurando um diretório de projeto:

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

$ mkdir -pv selênio -url/drivers

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

$ CD selênio-url/

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

$ virtualenv .Venv

Ative o ambiente virtual da seguinte forma:

$ fonte .venv/bin/ativar

Instale a Biblioteca Selênio Python em seu ambiente virtual usando o PIP3 da seguinte forma:

$ PIP3 Instale o selênio

Baixar e instalar 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 selênio com Python 3. Se você precisar de ajuda, pesquise em Linuxhint.com Para esse artigo.

Usarei o navegador do Google Chrome para a demonstração neste artigo. Então, eu estarei usando o cromedriver Binário com selênio. Você deve usar o Geckodriver Binário se você quiser usar o navegador da Web do Firefox.

Obtendo URL atual com selênio:

Crie um script python Ex01.py no seu diretório de projeto e digite as seguintes linhas de códigos.

do selênio importar webdriver
de selênio.WebDriver.comum.teclas de importação
opções = webdriver.Chromeoptions ()
opções.sem cabeça = verdadeiro
navegador = webdriver.Chrome (executável_path = "./Drivers/Chromedriver ", Options = Options)
navegador.Get ("https: // DuckDuckgo.com/")
Imprimir (navegador.current_url)
navegador.fechar()

Depois de 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 de opções do Chrome e a linha 5 permite o modo sem cabeça para o navegador da web Chrome.

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

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

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

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 imprimiu o URL atual no console. Isso retorna o URL da página que estamos visitando. Não é muito chique, pois já conhecemos o URL da página. Agora, vamos procurar algo no DuckDuckgo e tentar imprimir o URL da página de resultado da pesquisa no console.

Crie um script python ex02.py no seu diretório de projeto e digite as seguintes linhas de códigos.

do selênio importar webdriver
de selênio.WebDriver.comum.teclas de importação
opções = webdriver.Chromeoptions ()
opções.sem cabeça = verdadeiro
navegador = webdriver.Chrome (executável_path = "./Drivers/Chromedriver ", Options = Options)
navegador.Get ("https: // DuckDuckgo.com/")
Imprimir (navegador.current_url)
SearchInput = navegador.find_element_by_id ('search_form_input_homepage')
SearchInput.send_keys ('selanium hq' + chaves.DIGITAR)
Imprimir (navegador.current_url)
navegador.fechar()

Depois de terminar, salve o ex02.py Script Python.

Aqui, as linhas 1-10 são as mesmas que em Ex01.py. Então, eu não estou explicando -os 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 seleênio HQ no SearchInput caixa de texto e pressiona o chave usando Chaves.DIGITAR.

Depois que a página de pesquisa carrega, navegador.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 busca do DuckDuckgo.

O segundo é o URL atual atualizado depois de realizar uma pesquisa no mecanismo de pesquisa do DuckDuckgo usando a consulta seleênio HQ.

Conclusão:

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