Cómo obtener la URL actual con Selenium

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

En este artículo, les mostraré cómo obtener la URL actual del navegador con Selenium. 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 selenio-url/ como sigue:

$ mkdir -pv selenium -url/conductores

Navegar al selenio-url/ Directorio de proyectos de la siguiente manera:

$ CD Selenium-URL/

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 en su entorno virtual utilizando PIP3 de la siguiente manera:

$ PIP3 Instalar selenio

Descargue e instale todos los controladores web requeridos 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.

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

Obtener URL actual con Selenium:

Crea un guión de Python ex01.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
opciones = webdriver.ChromeOptions ()
opción.Sin cabeza = verdadero
navegador = webdriver.Chrome (ejecutable_path = "./controladores/chromedriver ", opciones = opciones)
navegador.Get ("https: // duckduckgo.com/")
Imprimir (navegador.actual_url)
navegador.cerca()

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

Aquí, la línea 1 y la línea 2 importan todos los componentes requeridos desde la biblioteca de Python Selenium.

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

La línea 7 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 Duckduckgo.sitio web.

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

La línea 12 cierra el navegador.

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

$ python3 ex01.py

Como puede ver, la URL actual (https: // duckduckgo.com) se imprime en la consola.

En el ejemplo anterior, he visitado 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 ya sabemos la URL de la página. Ahora, busquemos algo en Duckduckgo e intentemos imprimir la URL de la página del resultado de la búsqueda en la consola.

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
opciones = webdriver.ChromeOptions ()
opción.Sin cabeza = verdadero
navegador = webdriver.Chrome (ejecutable_path = "./controladores/chromedriver ", opciones = opciones)
navegador.Get ("https: // duckduckgo.com/")
Imprimir (navegador.actual_url)
SearchInput = navegador.find_element_by_id ('search_form_input_homepage')
búsqueda.send_keys ('Selenium HQ' + claves.INGRESAR)
Imprimir (navegador.actual_url)
navegador.cerca()

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

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

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

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

Una vez que se carga la página de búsqueda, navegador.actual_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 Python script de la siguiente manera:

$ python3 ex02.py

Como puedes ver, el guión de Python ex02.py Imprime 2 URLS.

La primera es la URL de la página de inicio del motor de búsqueda de Duckduckgo.

El segundo es la URL actual actualizada después de realizar una búsqueda en el motor de búsqueda de Duckduckgo usando la consulta cuartel de selenio.

Conclusión:

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