Selenio

Cómo obtener la URL actual con Selenium

Cómo obtener la URL actual con Selenium
Selenium es una herramienta para pruebas de navegadores, automatización web y raspado web. Mientras trabaja en sus proyectos de Selenium, es posible que necesite conocer la URL de la página que muestra su navegador web controlado por Selenium. Esta información puede ser útil para realizar un seguimiento de la URL de donde extrajo algunos datos para que pueda actualizar los datos automáticamente usando algún script.

En este artículo, le mostraré cómo obtener la URL actual del navegador con Selenium. Entonces empecemos.

Requisitos previos:

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) Navegadores web Mozilla Firefox o Google Chrome instalados en su computadora.
6) Debe saber cómo instalar el controlador Firefox Gecko o el controlador web de Chrome.

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

Puede encontrar muchos artículos sobre otros temas en LinuxHint.com. Asegúrese de revisarlos si necesita ayuda.

Configuración de un directorio de proyectos:

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

$ mkdir -pv selenium-url / drivers

Navega al selenium-url / directorio del proyecto de la siguiente manera:

$ cd selenium-url /

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

$ virtualenv .venv

Active el entorno virtual de la siguiente manera:

$ fuente .venv / bin / activar

Instale la biblioteca Selenium Python en su entorno virtual usando PIP3 de la siguiente manera:

$ pip3 instalar selenium

Descargue e instale todos los controladores web necesarios 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 en LinuxHint.com para ese articulo.

Usaré el navegador web Google Chrome para la demostración en este artículo. Entonces, usaré el conductor cromado binario con selenio. Deberías usar el geckodriver binario si desea utilizar el navegador web Firefox.

Obtener la URL actual con Selenium:

Crea una secuencia de comandos de Python ex01.py en el directorio de su proyecto y escriba las siguientes líneas de códigos en él.

desde el controlador web de importación de selenio
de selenio.webdriver.común.claves importar claves
opciones = webdriver.ChromeOptions ()
opciones.headless = Verdadero
browser = webdriver.Chrome (ruta_ejecutable = "./ drivers / chromedriver ", opciones = opciones)
navegador.get ("https: // duckduckgo.com / ")
imprimir (navegador.current_url)
navegador.cerca()

Una vez que haya terminado, guarde el ex01.py Secuencia de comandos de Python.

Aquí, la línea 1 y la línea 2 importan todos los componentes necesarios de la biblioteca de selenio de Python.

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

Line 7 crea un Chrome navegador objeto usando el conductor cromado binario del conductores / directorio del proyecto.

La línea 9 le dice al navegador que cargue el duckduckgo.sitio web com.

La línea 10 imprime la URL actual del navegador. Aquí, navegador.current_url La propiedad se utiliza para acceder a la URL actual del navegador.

La línea 12 cierra el navegador.

Ejecute la secuencia de comandos de Python ex01.py como sigue:

$ python3 ex01.py

Como puede ver, la URL actual (https: // duckduckgo.com) está impreso en la consola.

En el ejemplo anterior, visité el sitio web duckduckgo.com e imprimió la URL actual en la consola. Esto devuelve la URL de la página que estamos visitando. No es muy elegante, ya que conocemos la URL de la página. Ahora, busquemos algo en DuckDuckGo e intentemos imprimir la URL de la página de resultados de búsqueda en la consola.

Crea una secuencia de comandos de Python ex02.py en el directorio de su proyecto y escriba las siguientes líneas de códigos en él.

desde el controlador web de importación de selenio
de selenio.webdriver.común.claves importar claves
opciones = webdriver.ChromeOptions ()
opciones.headless = Verdadero
browser = webdriver.Chrome (ruta_ejecutable = "./ drivers / chromedriver ", opciones = opciones)
navegador.get ("https: // duckduckgo.com / ")
imprimir (navegador.current_url)
searchInput = navegador.find_element_by_id ('search_form_input_homepage')
searchInput.send_keys ('selenium hq' + teclas.INGRESAR)
imprimir (navegador.current_url)
navegador.cerca()

Una vez que haya terminado, guarde el ex02.py Secuencia de comandos de Python.

Aquí, las líneas 1-10 son las mismas que en ex01.py. Entonces, no los voy a explicar de nuevo.

La línea 12 busca el cuadro de texto de búsqueda y lo almacena en el searchInput variable.

La línea 13 envía la consulta de búsqueda selenio hq en el searchInput cuadro de texto y presiona el clave usando Llaves.INGRESAR.

Una vez que se carga la página de búsqueda, navegador.current_url se utiliza para acceder a la URL actual actualizada.

La línea 15 imprime la URL actual actualizada en la consola.

La línea 17 cierra el navegador.

Ejecutar el ex02.py Secuencia de comandos de Python de la siguiente manera:

$ python3 ex02.py

Como puede ver, la secuencia de comandos de Python ex02.py imprime 2 URL.

El primero es la URL de la página de inicio del motor de búsqueda DuckDuckGo.

El segundo es la URL actual actualizada después de realizar una búsqueda en el motor de búsqueda DuckDuckGo utilizando la consulta selenio hq.

Conclusión:

En este artículo, le he mostrado cómo obtener la URL actual del navegador web usando la biblioteca Selenium Python. Ahora, debería poder hacer que sus proyectos de Selenium sean más interesantes.

Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...
Cómo usar GameConqueror Cheat Engine en Linux
El artículo cubre una guía sobre el uso del motor de trucos GameConqueror en Linux. Muchos usuarios que juegan juegos en Windows a menudo usan la apli...
Los mejores emuladores de consola de juegos para Linux
Este artículo enumerará el software de emulación de consola de juegos más popular disponible para Linux. La emulación es una capa de compatibilidad de...