Como atualizar a página com selênio

Como atualizar a página com selênio
As páginas da web refrescantes são uma ação muito comum. Atualizamos a página da web para ver os resultados atualizados. O mesmo se aplica aos testes de navegador, automação da web e raspagem na web com o driver da Web de Selenium.

Neste artigo, vou mostrar como atualizar uma página com a Biblioteca de Selenium Python. 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-refresch/ do seguinte modo:

$ mkdir -pv selênio -refresh/drivers

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

$ CD selênio-refresh/

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 usando o PIP3 da seguinte forma:

$ PIP3 Instale o selênio

Baixar e instalar todo o driver da web necessário 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.

Método 1: Usando o método refrescante () do navegador

O primeiro método é o método mais fácil e recomendado da página refrescante com selênio.

Crie um novo script python Ex01.py e digite as seguintes linhas de códigos nele.

do selênio importar webdriver
de selênio.WebDriver.comum.teclas de importação
Desde o tempo de importação do sono
opções = webdriver.Chromeoptions ()
opções.sem cabeça = verdadeiro
navegador = webdriver.Chrome (executável_path = "./Drivers/Chromedriver ", Options = Options)
navegador.Get ("https: // www.unixtimestamp.com/")
Timestamp = navegador.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Print ('Timestamp atual: % S' % (registro de data e hora.texto.Split (") [0]))
sono (5)
navegador.Refresh ()
Timestamp = navegador.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Print ('Timestamp atual: % S' % (registro de data e hora.texto.Split (") [0]))
navegador.fechar()

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

A linha 1 e 2 importa todos os componentes de selênio necessários.

Linha 3 importa o sono () da biblioteca do tempo. Vou usar isso para esperar alguns segundos para a página da web atualizar para que possamos buscar novos dados depois de atualizar a página da web.

A linha 5 cria um objeto de opções do Chrome e a linha 6 permite o modo sem cabeça para o navegador da web Chrome.

A linha 8 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 site unixtimestamp.com.

A linha 11 encontra o elemento que possui os dados de registro de data e hora da página usando o seletor XPath e o armazena no Timestamp variável.

A linha 12 analisa os dados de registro de data e hora do elemento e o imprime no console.

A linha 14 usa o dormir() função para esperar 5 segundos.

A linha 15 atualiza a página atual usando o navegador.Refresh () método.

A linha 17 e 18 é a mesma que a linha 11 e 12. Ele encontra o elemento de registro de data e hora da página e imprime o registro de data e hora atualizado no console.

A linha 20 fecha o navegador.

Execute o script python Ex01.py do seguinte modo:

$ python3 ex01.py

Como você pode ver, o registro de data e hora é impresso no console.

Após 5 segundos de impressão do primeiro registro de data e hora, a página é atualizada e o registro de data e hora atualizado é impresso no console, como você pode ver na captura de tela abaixo.

Método 2: Revisitando o mesmo URL

O segundo método de atualizar a página é revisitar o mesmo URL usando o navegador.pegar() método.

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
Desde o tempo de importação do sono
opções = webdriver.Chromeoptions ()
opções.sem cabeça = verdadeiro
navegador = webdriver.Chrome (executável_path = "./Drivers/Chromedriver ", Options = Options)
navegador.Get ("https: // www.unixtimestamp.com/")
Timestamp = navegador.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Print ('Timestamp atual: % S' % (registro de data e hora.texto.Split (") [0]))
sono (5)
navegador.Obtenha (navegador.current_url)
Timestamp = navegador.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Print ('Timestamp atual: % S' % (registro de data e hora.texto.Split (") [0]))
navegador.fechar()

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

Tudo é o mesmo que no ex01.py. A única diferença é na linha 15.

Aqui, estou usando o navegador.pegar() Método para visitar o URL da página atual. O URL da página atual pode ser acessado usando o navegador.current_url propriedade.

Execute o ex02.py Script Python da seguinte maneira:

$ python3 ex02.py

Como você pode ver, o script Pythion ex02.py imprime o mesmo tipo de informação que em Ex01.py.

Conclusão:

Neste artigo, mostrei 2 métodos de refrescamento da página atual usando a Biblioteca de Selênio Python. Você deve ser capaz de fazer coisas mais interessantes com o selênio agora.