Neste artigo, vou mostrar como obter o 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 (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) 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 na Linuxhint.com.
Você pode encontrar muitos artigos sobre outros tópicos no 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 -pv selenium-url / drivers
Navegue até o selênio-url / diretório do projeto da seguinte forma:
$ cd selenium-url /
Crie um ambiente virtual Python no diretório do projeto da seguinte maneira:
$ virtualenv .venv
Ative o ambiente virtual da seguinte maneira:
$ source .venv / bin / activate
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 aquele 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 geckodriver binário se você quiser usar o navegador Firefox.
Obtendo URL atual com Selenium:
Crie um script Python ex01.py no diretório do seu projeto e digite as seguintes linhas de códigos nele.
from selenium import webdriverde selênio.driver da web.comum.chaves importar chaves
options = webdriver.ChromeOptions ()
opções.sem cabeça = verdadeiro
navegador = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", options = options)
navegador.get ("https: // duckduckgo.com / ")
imprimir (navegador.current_url)
navegador.perto()
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 duckduckgo.com site.
A linha 10 imprime o URL atual do navegador. Aqui, navegador.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 imprimiu 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 seu projeto e digite as seguintes linhas de códigos nele.
from selenium import webdriverde selênio.driver da web.comum.chaves importar chaves
options = webdriver.ChromeOptions ()
opções.sem cabeça = verdadeiro
navegador = webdriver.Chrome (executable_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 ('selenium hq' + Chaves.ENTRAR)
imprimir (navegador.current_url)
navegador.perto()
Quando 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 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
Assim que a página de pesquisa carregar, 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 forma:
$ 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 o URL atual do navegador da web usando a biblioteca Selenium Python. Agora, você deve ser capaz de tornar seus projetos Selenium mais interessantes.