Com obtenir l'URL actual amb Selenium

How Get Current Url With Selenium



El seleni és una eina per a proves de navegadors, automatització web i rascat web. Mentre treballeu en els vostres projectes de Selenium, és possible que hàgiu de conèixer l’URL de la pàgina que mostra el vostre navegador web controlat per Selenium. Aquesta informació pot ser útil per fer un seguiment de l’URL d’on heu extret algunes dades, de manera que pugueu actualitzar-les automàticament mitjançant algun script.

En aquest article, us mostraré com obtenir l’URL actual del navegador amb Selenium. Per tant, comencem.







Requisits previs:

Per provar les ordres i exemples d’aquest article, heu de tenir:



1) Una distribució Linux (preferiblement Ubuntu) instal·lada al vostre ordinador.
2) Python 3 instal·lat a l'ordinador.
3) PIP 3 instal·lat al vostre ordinador.
4) Python virtualenv paquet instal·lat a l'ordinador.
5) Els navegadors web Mozilla Firefox o Google Chrome instal·lats a l’ordinador.
6) Heu de saber instal·lar el controlador Firefox Gecko o el controlador web Chrome.



Per complir els requisits 4, 5 i 6, llegiu el meu article Introducció al Seleni amb Python 3 a Linuxhint.com.





Podeu trobar molts articles sobre els altres temes a LinuxHint.com . Comproveu-los si necessiteu ajuda.

Configuració d'un directori de projectes:

Per mantenir-ho tot organitzat, creeu un directori de projectes nou ur-seleni / com segueix:



$mkdir -pvurl de seleni/conductors

Aneu a ur-seleni / directori del projecte de la següent manera:

$cdurl de seleni/

Creeu un entorn virtual Python al directori del projecte de la manera següent:

$virtualenv .venv

Activeu l'entorn virtual de la següent manera:

$font.venv/sóc/activar

Instal·leu la biblioteca Selenium Python al vostre entorn virtual mitjançant PIP3 de la següent manera:

$ pip3 instal·la seleni

Baixeu i instal·leu tots els controladors web necessaris a conductors / directori del projecte. He explicat el procés de descàrrega i instal·lació de controladors web al meu article Introducció al Seleni amb Python 3 . Si necessiteu ajuda, cerqueu a LinuxHint.com per a aquest article.

Utilitzaré el navegador web Google Chrome per a la demostració d’aquest article. Per tant, faré servir el fitxer riu cromat binari amb seleni. Heu d'utilitzar el fitxer conductor de gecko binari si voleu utilitzar el navegador web Firefox.

Creeu un script Python ex01.py al directori del projecte i escriviu-hi les línies de codis següents.

des deseleniimportaciócontrolador web
des deseleni.controlador web.comú.claus importacióClaus
opcions=controlador web.Opcions de Chrome()
opcions.sense cap = És cert
navegador=controlador web.Chrome(ruta_executable='./drivers/chromedriver',opcions=opcions)
navegador.aconseguir('Https://duckduckgo.com/')
imprimir(navegador.URL_actual)
navegador.Tanca()

Un cop hàgiu acabat, deseu el fitxer ex01.py Script Python.

Aquí, la línia 1 i la línia 2 importen tots els components necessaris de la biblioteca de seleni de Python.

La línia 4 crea un objecte Opcions de Chrome i la línia 5 habilita el mode sense cap per al navegador web Chrome.

La línia 7 crea un Chrome navegador objecte mitjançant el fitxer riu cromat binari des de conductors / directori del projecte.

La línia 9 indica al navegador que carregui el lloc web duckduckgo.com.

La línia 10 imprimeix l'URL actual del navegador. Aquí, browser.current_url La propietat s’utilitza per accedir a l’URL actual del navegador.

La línia 12 tanca el navegador.

Executeu l'script Python ex01.py com segueix:

$ python3 ex01.py

Com podeu veure, l’URL actual ( https://duckduckgo.com ) s’imprimeix a la consola.

A l'exemple anterior, he visitat el lloc web duckduckgo.com i he imprès l'URL actual a la consola. Es torna l’URL de la pàgina que visitem. No és gaire elegant, ja que ja coneixem l’URL de la pàgina. Ara busquem alguna cosa a DuckDuckGo i provem d’imprimir l’URL de la pàgina de resultats de la cerca a la consola.

Creeu un script Python ex02.py al directori del projecte i escriviu-hi les línies de codis següents.

des deseleniimportaciócontrolador web
des deseleni.controlador web.comú.claus importacióClaus
opcions=controlador web.Opcions de Chrome()
opcions.sense cap = És cert
navegador=controlador web.Chrome(ruta_executable='./drivers/chromedriver',opcions=opcions)
navegador.aconseguir('Https://duckduckgo.com/')
imprimir(navegador.URL_actual)
searchInput=navegador.find_element_by_id('search_form_input_homepage')
searchInput.enviar_ claus('seleni hq'+ Tecles.ENTRAR)
imprimir(navegador.URL_actual)
navegador.Tanca()

Un cop hàgiu acabat, deseu el fitxer ex02.py Script Python.

Aquí, les línies 1-10 són les mateixes que a ex01.py . Per tant, no els explico de nou.

La línia 12 troba el quadre de text de cerca i el desa al fitxer searchInput variable.

La línia 13 envia la consulta de cerca seleni hq al searchInput i prem el botó de text utilitzant la clau Claus.ENTRE .

Un cop es carregui la pàgina de cerca, browser.current_url s’utilitza per accedir a l’URL actualitzat.

La línia 15 imprimeix l'URL actualitzat a la consola.

La línia 17 tanca el navegador.

Executeu el fitxer ex02.py Script Python de la següent manera:

$ python3 ex02.py

Com podeu veure, l’escriptura Python ex02.py imprimeix 2 URL.

El primer és l’URL de la pàgina inicial del motor de cerca DuckDuckGo.

El segon és l’URL actual actualitzat després de realitzar una cerca al motor de cerca DuckDuckGo mitjançant la consulta seleni hq .

Conclusió:

En aquest article, us he mostrat com obtenir l’URL actual del navegador web mitjançant la biblioteca Selenium Python. Ara hauríeu de ser capaços de fer els vostres projectes Selenium més interessants.