Cum să obțineți adresa URL actuală cu seleniu

How Get Current Url With Selenium



Seleniul este un instrument pentru testarea browserului, automatizarea web și răzuirea web. În timp ce lucrați la proiectele dvs. Selenium, poate fi necesar să știți adresa URL a paginii pe care browserul dvs. web controlat de Selenium o afișează. Aceste informații pot fi utile pentru a ține evidența adresei URL de unde ați extras unele date, astfel încât să puteți actualiza datele automat folosind un anumit script.

În acest articol, vă voi arăta cum să obțineți adresa URL actuală a browserului cu Selenium. Deci sa începem.







Condiții preliminare:

Pentru a încerca comenzile și exemplele acestui articol, trebuie să aveți,



1) O distribuție Linux (de preferință Ubuntu) instalată pe computer.
2) Python 3 instalat pe computer.
3) PIP 3 instalat pe computer.
4) Python virtualenv pachet instalat pe computer.
5) Browsere web Mozilla Firefox sau Google Chrome instalate pe computer.
6) Trebuie să știți cum să instalați driverul Firefox Gecko sau Chrome Web Driver.



Pentru îndeplinirea cerințelor 4, 5 și 6, vă rugăm să citiți articolul meu Introducere în Seleniu cu Python 3 la Linuxhint.com.





Puteți găsi multe articole despre celelalte subiecte de pe LinuxHint.com . Asigurați-vă că le verificați dacă aveți nevoie de asistență.

Configurarea unui director de proiect:

Pentru a menține totul organizat, creați un nou director de proiect seleniu-url / după cum urmează:



$mkdir -pvseleniu-url/șoferii

Navigați la seleniu-url / directorul proiectului după cum urmează:

$CDseleniu-url/

Creați un mediu virtual Python în directorul proiectului după cum urmează:

$virtualenv .venv

Activați mediul virtual după cum urmează:

$sursă.venv/a.m/Activati

Instalați biblioteca Selenium Python în mediul dvs. virtual folosind PIP3 după cum urmează:

$ pip3 instalează seleniu

Descărcați și instalați toți driverele web necesare în drivere / directorul proiectului. Am explicat procesul de descărcare și instalare a driverelor web în articolul meu Introducere în Seleniu cu Python 3 . Dacă aveți nevoie de asistență, căutați pe LinuxHint.com pentru articolul respectiv.

Voi folosi browserul web Google Chrome pentru demonstrația din acest articol. Deci, voi folosi râu cromat binar cu Seleniu. Ar trebui să utilizați șofer de gecko binar dacă doriți să utilizați browserul web Firefox.

Creați un script Python ex01.py în directorul de proiect și introduceți următoarele linii de coduri în el.

dinseleniuimportwebdriver
dinseleniu.webdriver.uzual.chei importTaste
Opțiuni=webdriver.Opțiuni Chrome()
Opțiuni.fără cap = Adevărat
browser=webdriver.Crom(calea_executabilă=„./drivers/chromedriver”,Opțiuni=Opțiuni)
browser.obține(„https://duckduckgo.com/”)
imprimare(browser.curent_url)
browser.închide()

După ce ați terminat, salvați ex01.py Script Python.

Aici, linia 1 și linia 2 importă toate componentele necesare din biblioteca de seleniu Python.

Linia 4 creează un obiect Opțiuni Chrome, iar linia 5 activează modul fără cap pentru browserul web Chrome.

Linia 7 creează un Chrome browser obiect folosind râu cromat binar din drivere / directorul proiectului.

Linia 9 îi spune browserului să încarce site-ul web duckduckgo.com.

Linia 10 imprimă adresa URL curentă a browserului. Aici, browser.current_url proprietatea este utilizată pentru a accesa adresa URL curentă a browserului.

Linia 12 închide browserul.

Rulați scriptul Python ex01.py după cum urmează:

$ python3 ex01.py

După cum puteți vedea, adresa URL curentă ( https://duckduckgo.com ) este tipărit pe consolă.

În exemplul anterior, am vizitat site-ul web duckduckgo.com și am tipărit adresa URL curentă pe consolă. Aceasta returnează adresa URL a paginii pe care o vizităm. Nu prea elegant, deoarece știm deja adresa URL a paginii. Acum, să căutăm ceva pe DuckDuckGo și să încercăm să imprimăm adresa URL a paginii cu rezultatele căutării pe consolă.

Creați un script Python ex02.py în directorul de proiect și introduceți următoarele linii de coduri în el.

dinseleniuimportwebdriver
dinseleniu.webdriver.uzual.chei importTaste
Opțiuni=webdriver.Opțiuni Chrome()
Opțiuni.fără cap = Adevărat
browser=webdriver.Crom(calea_executabilă=„./drivers/chromedriver”,Opțiuni=Opțiuni)
browser.obține(„https://duckduckgo.com/”)
imprimare(browser.curent_url)
searchInput=browser.find_element_by_id('search_form_input_homepage')
searchInput.send_keys(„seleniu hq”+ Taste.INTRODUCE)
imprimare(browser.curent_url)
browser.închide()

După ce ați terminat, salvați ex02.py Script Python.

Aici, liniile 1-10 sunt aceleași ca în ex01.py . Deci, nu le explic din nou.

Linia 12 găsește caseta de text de căutare și o stochează în searchInput variabil.

Linia 13 trimite interogarea de căutare seleniu hq în searchInput casetă text și apasă pe folosind tasta Taste.ENTER .

Odată ce pagina de căutare se încarcă, browser.current_url este folosit pentru a accesa adresa URL actualizată curentă.

Linia 15 imprimă adresa URL actualizată actualizată pe consolă.

Linia 17 închide browserul.

Rulați ex02.py Script Python după cum urmează:

$ python3 ex02.py

După cum puteți vedea, scriptul Python ex02.py tipărește 2 adrese URL.

Primul este adresa URL a paginii de pornire a motorului de căutare DuckDuckGo.

Al doilea este URL-ul actual actualizat după efectuarea unei căutări pe motorul de căutare DuckDuckGo folosind interogarea seleniu hq .

Concluzie:

În acest articol, v-am arătat cum să obțineți adresa URL curentă a browserului web utilizând biblioteca Selenium Python. Acum, ar trebui să puteți face proiectele dvs. Selenium mai interesante.