Cómo actualizar la página con Selenium

Cómo actualizar la página con Selenium
Las páginas web refrescantes son una acción muy común. Actualizamos la página web para ver los resultados actualizados. Lo mismo es cierto para las pruebas de navegador, la automatización web y el raspado web con el controlador web de Selenium.

En este artículo, les mostraré cómo refrescar una página con la biblioteca de Selenium Python. Entonces empecemos.

Prerrequisitos:

Para probar los comandos y ejemplos de este artículo, debe tener,

1) Una distribución de Linux (preferiblemente Ubuntu) instalada en su computadora.
2) Python 3 instalado en su computadora.
3) PIP 3 instalado en su computadora.
4) Python virtualenv Paquete instalado en su computadora.
5) Mozilla Firefox o Google Chrome Browsers instalados en su computadora.
6) Debe saber cómo instalar el controlador Gecko Firefox o el controlador web Chrome.

Para cumplir con los requisitos 4, 5 y 6, lea mi artículo Introducción al selenio con Python 3 en Linuxhint.comunicarse.

Puede encontrar muchos artículos sobre los otros temas en Linuxhint.comunicarse. Asegúrese de consultarlos si necesita alguna ayuda.

Configuración de un directorio de proyecto:

Para mantener todo organizado, cree un nuevo directorio de proyectos Selenium-REFRESH/ como sigue:

$ mkdir -pv selenio -refresh/conductores

Navegar al Selenium-REFRESH/ Directorio de proyectos de la siguiente manera:

$ CD SELENIO-REFRESH/

Cree un entorno virtual de Python en el directorio del proyecto de la siguiente manera:

$ virtualenv .venado

Active el entorno virtual de la siguiente manera:

$ fuente .venv/bin/activar

Instale la biblioteca de Selenium Python usando PIP3 de la siguiente manera:

$ PIP3 Instalar selenio

Descargue e instale todo el controlador web requerido en el conductores/ directorio del proyecto. He explicado el proceso de descarga e instalación de controladores web en mi artículo Introducción al selenio con Python 3. Si necesita ayuda, busque Linuxhint.comunicarse para ese artículo.

Método 1: Uso del método de navegador refresh ()

El primer método es el método más fácil y recomendado de la página refrescante con Selenium.

Crea un nuevo script de Python ex01.py en y escriba las siguientes líneas de códigos en él.

Desde Selenium Import WebDriver
de Selenium.webdriver.común.llaves de importación de teclas
Desde el tiempo de sueño
opciones = webdriver.ChromeOptions ()
opción.Sin cabeza = verdadero
navegador = webdriver.Chrome (ejecutable_path = "./controladores/chromedriver ", opciones = opciones)
navegador.Get ("https: // www.uniptimestamp.com/")
marca de tiempo = navegador.find_element_by_xpath ("// h3 [@class = 'Text-Danger'] [1]")
Imprimir ('Actual marca de tiempo: % S' % (marca de tiempo.texto.dividir (") [0]))
dormir (5)
navegador.actualizar()
marca de tiempo = navegador.find_element_by_xpath ("// h3 [@class = 'Text-Danger'] [1]")
Imprimir ('Actual marca de tiempo: % S' % (marca de tiempo.texto.dividir (") [0]))
navegador.cerca()

Una vez que haya terminado, guarde el ex01.py Guión de pitón.

Línea 1 y 2 Importa todos los componentes de selenio requeridos.

Función de Sleep () Line 3 Imports Sleep () desde la biblioteca de tiempo. Usaré esto para esperar unos segundos para que la página web se actualice para que podamos obtener nuevos datos después de actualizar la página web.

La línea 5 crea un objeto de opciones de Chrome, y la línea 6 habilita el modo sin cabeza para el navegador web Chrome.

La línea 8 crea un cromo navegador objeto usando el cromedríguico binario del conductores/ directorio del proyecto.

La línea 9 le dice al navegador que cargue el sitio web unixMestamp.comunicarse.

La línea 11 encuentra el elemento que tiene los datos de la marca de tiempo de la página utilizando el selector XPath y lo almacena en el marca de tiempo variable.

La línea 12 analiza los datos de la marca de tiempo del elemento y los imprime en la consola.

La línea 14 usa el dormir() función para esperar 5 segundos.

La línea 15 actualiza la página actual utilizando el navegador.actualizar() método.

La línea 17 y 18 es la misma que la línea 11 y 12. Encuentra el elemento de marca de tiempo de la página e imprime la marca de tiempo actualizada en la consola.

La línea 20 cierra el navegador.

Ejecute el guión de Python ex01.py como sigue:

$ python3 ex01.py

Como puede ver, la marca de tiempo se imprime en la consola.

Después de 5 segundos de impresión de la primera marca de tiempo, la página se actualiza y la marca de tiempo actualizada se imprime en la consola, como puede ver en la captura de pantalla a continuación.

Método 2: revisar la misma URL

El segundo método para actualizar la página es revisar la misma URL utilizando el navegador.conseguir() método.

Crea un guión de Python ex02.py en su directorio de proyecto y escriba las siguientes líneas de códigos en él.

Desde Selenium Import WebDriver
de Selenium.webdriver.común.llaves de importación de teclas
Desde el tiempo de sueño
opciones = webdriver.ChromeOptions ()
opción.Sin cabeza = verdadero
navegador = webdriver.Chrome (ejecutable_path = "./controladores/chromedriver ", opciones = opciones)
navegador.Get ("https: // www.uniptimestamp.com/")
marca de tiempo = navegador.find_element_by_xpath ("// h3 [@class = 'Text-Danger'] [1]")
Imprimir ('Actual marca de tiempo: % S' % (marca de tiempo.texto.dividir (") [0]))
dormir (5)
navegador.Obtener (navegador.actual_url)
marca de tiempo = navegador.find_element_by_xpath ("// h3 [@class = 'Text-Danger'] [1]")
Imprimir ('Actual marca de tiempo: % S' % (marca de tiempo.texto.dividir (") [0]))
navegador.cerca()

Una vez que haya terminado, guarde el ex02.py Guión de pitón.

Todo es lo mismo que en ex01.py. La única diferencia es en la línea 15.

Aquí, estoy usando el navegador.conseguir() Método para visitar la URL de la página actual. Se puede acceder a la URL de la página actual utilizando el navegador.actual_url propiedad.

Ejecutar el ex02.py Python script de la siguiente manera:

$ python3 ex02.py

Como puede ver, el guión de Pythion ex02.py Imprime el mismo tipo de información que en ex01.py.

Conclusión:

En este artículo, le he mostrado 2 métodos para actualizar la página web actual utilizando la biblioteca de Selenium Python. Deberías poder hacer cosas más interesantes con Selenium ahora.