Kako pridobiti trenutni URL s selenom

How Get Current Url With Selenium



Selenium je orodje za testiranje brskalnika, spletno avtomatizacijo in strganje po spletu. Med delom na vaših projektih Selenium boste morda morali poznati URL strani, ki jo prikazuje vaš spletni brskalnik, ki ga upravlja Selenium. Ti podatki so lahko koristni za sledenje URL -ju, od koder ste pridobili nekaj podatkov, tako da jih boste morda lahko samodejno posodobili z uporabo neke skripte.

V tem članku vam bom pokazal, kako s Selenom pridobiti trenutni URL brskalnika. Torej, začnimo.







Predpogoji:

Če želite preizkusiti ukaze in primere tega članka, morate imeti:



1) V vašem računalniku nameščena distribucija Linuxa (po možnosti Ubuntu).
2) Python 3 je nameščen na vašem računalniku.
3) PIP 3 nameščen na vašem računalniku.
4) Python virtualenv paket, nameščen v računalniku.
5) Spletni brskalniki Mozilla Firefox ali Google Chrome, nameščeni v vašem računalniku.
6) Morate vedeti, kako namestiti gonilnik Firefox Gecko ali spletni gonilnik Chrome.



Če želite izpolniti zahteve 4, 5 in 6, preberite moj članek Uvod v selen s Pythonom 3 na naslovu Linuxhint.com.





Tu lahko najdete veliko člankov o drugih temah LinuxHint.com . Če potrebujete pomoč, jih obvezno preverite.

Nastavitev imenika projekta:

Če želite, da je vse organizirano, ustvarite nov imenik projektov urin selena/ kot sledi:



$mkdir -pvurin selena/vozniki

Pomaknite se do urin selena/ imenik projekta, kot sledi:

$CDurin selena/

Ustvarite navidezno okolje Python v imeniku projekta na naslednji način:

$virtualenv .venv

Navidezno okolje aktivirajte na naslednji način:

$vir.venv/zjutraj/aktivirati

Knjižnico Selenium Python namestite v navidezno okolje z uporabo PIP3 na naslednji način:

$ pip3 namestite selen

Prenesite in namestite vse potrebne spletne gonilnike v vozniki/ imenik projekta. Postopek prenosa in namestitve spletnih gonilnikov sem razložil v svojem članku Uvod v selen s Pythonom 3 . Če potrebujete pomoč, poiščite LinuxHint.com za tisti članek.

Za predstavitev v tem članku bom uporabil spletni brskalnik Google Chrome. Torej bom uporabljal kromiran binarno s selenom. Uporabiti morate voznik gekona binary, če želite uporabljati spletni brskalnik Firefox.

Ustvarite skript Python ex01.py v imenik vašega projekta in vanj vnesite naslednje vrstice kod.

odselenauvozspletni gonilnik
odselena.spletni gonilnik.običajni.ključe uvozKljuči
opcije=spletni gonilnik.ChromeOptions()
opcije.brez glave = Prav
brskalnik=spletni gonilnik.Chrome(executable_path='./drivers/chromedriver',opcije=opcije)
brskalnik.dobiti('https://duckduckgo.com/')
tiskanje(brskalnik.current_url)
brskalnik.blizu()

Ko končate, shranite ex01.py Python skript.

Tu vrstica 1 in vrstica 2 uvažata vse potrebne komponente iz knjižnice selena Python.

4. vrstica ustvari objekt Možnosti Chroma, 5. vrstica pa omogoča brezglavi način za spletni brskalnik Chrome.

Vrstica 7 ustvari Chrome brskalnik predmet z uporabo kromiran binarni iz vozniki/ imenik projekta.

Vrstica 9 brskalniku pove, naj naloži spletno mesto duckduckgo.com.

10. vrstica natisne trenutni URL brskalnika. Tukaj, browser.current_url lastnost se uporablja za dostop do trenutnega URL -ja brskalnika.

Vrstica 12 zapre brskalnik.

Zaženite skript Python ex01.py kot sledi:

$ python3 ex01.py

Kot lahko vidite, je trenutni URL ( https://duckduckgo.com ) je natisnjeno na konzoli.

V prejšnjem primeru sem obiskal spletno mesto duckduckgo.com in na konzolo natisnil trenutni URL. To vrne URL strani, ki jo obiskujemo. Ni zelo domišljijsko, saj že poznamo URL strani. Zdaj pa poiščimo nekaj na DuckDuckGo in poskusimo natisniti URL strani z rezultati iskanja na konzoli.

Ustvarite skript Python ex02.py v imenik vašega projekta in vanj vnesite naslednje vrstice kod.

odselenauvozspletni gonilnik
odselena.spletni gonilnik.običajni.ključe uvozKljuči
opcije=spletni gonilnik.ChromeOptions()
opcije.brez glave = Prav
brskalnik=spletni gonilnik.Chrome(executable_path='./drivers/chromedriver',opcije=opcije)
brskalnik.dobiti('https://duckduckgo.com/')
tiskanje(brskalnik.current_url)
searchInput=brskalnik.find_element_by_id('search_form_input_homepage')
searchInput.send_keys('selenov hq'+ Ključi.ENTER)
tiskanje(brskalnik.current_url)
brskalnik.blizu()

Ko končate, shranite ex02.py Python skript.

Tu so vrstice 1-10 enake kot v ex01.py . Torej jih ne razlagam več.

Vrstica 12 poišče besedilno polje za iskanje in ga shrani v searchInput spremenljivka.

Vrstica 13 pošlje iskalno poizvedbo selen hq v searchInput besedilno polje in pritisne z uporabo ključa Ključi.ENTER .

Ko se stran za iskanje naloži, browser.current_url se uporablja za dostop do posodobljenega trenutnega URL -ja.

15. vrstica na konzolo natisne posodobljen trenutni URL.

Vrstica 17 zapre brskalnik.

Zaženite ex02.py Python skript:

$ python3 ex02.py

Kot lahko vidite, skript Python ex02.py natisne 2 URL -ja.

Prvi je URL domače strani iskalnika DuckDuckGo.

Drugi je posodobljen trenutni URL po izvedbi iskanja v iskalniku DuckDuckGo z uporabo poizvedbe selen hq .

Zaključek:

V tem članku sem vam pokazal, kako s knjižnico Selenium Python pridobiti trenutni URL spletnega brskalnika. Zdaj bi morali biti vaši Selenium projekti bolj zanimivi.