Kaip gauti dabartinį URL naudojant seleną

How Get Current Url With Selenium



Selenas yra naršyklės testavimo, žiniatinklio automatizavimo ir žiniatinklio grandymo įrankis. Dirbdami su seleno projektais, jums gali tekti žinoti puslapio, kurį rodo seleno valdoma žiniatinklio naršyklė, URL. Ši informacija gali būti naudinga norint sekti URL, iš kurio ištraukėte tam tikrus duomenis, kad galėtumėte automatiškai atnaujinti duomenis naudodami tam tikrą scenarijų.

Šiame straipsnyje aš jums parodysiu, kaip gauti dabartinį naršyklės URL su selenu. Taigi, pradėkime.







Būtinos sąlygos:

Norėdami išbandyti šio straipsnio komandas ir pavyzdžius, turite turėti:



1) Jūsų kompiuteryje įdiegtas „Linux“ platinimas (pageidautina „Ubuntu“).
2) Python 3 įdiegta jūsų kompiuteryje.
3) PIP 3 įdiegta jūsų kompiuteryje.
4) „Python“ virtualenv paketą, įdiegtą jūsų kompiuteryje.
5) „Mozilla Firefox“ arba „Google Chrome“ žiniatinklio naršyklės, įdiegtos jūsų kompiuteryje.
6) Turi žinoti, kaip įdiegti „Firefox Gecko“ tvarkyklę arba „Chrome“ žiniatinklio tvarkyklę.



Norėdami įvykdyti 4, 5 ir 6 reikalavimus, perskaitykite mano straipsnį Įvadas į seleną naudojant „Python 3“ svetainėje Linuxhint.com.





Galite rasti daug straipsnių kitomis temomis LinuxHint.com . Būtinai patikrinkite juos, jei jums reikia pagalbos.

Projekto katalogo nustatymas:

Norėdami viską sutvarkyti, sukurkite naują projektų katalogą seleno-url/ taip:



$mkdir -pvseleno URL/vairuotojų

Eikite į seleno-url/ projekto katalogas:

$CDseleno URL/

Sukurkite „Python“ virtualią aplinką projekto kataloge taip:

$virtualenv .venv

Suaktyvinkite virtualią aplinką taip:

$šaltinis.venv/esu/aktyvuoti

Įdiekite „Selenium Python“ biblioteką savo virtualioje aplinkoje naudodami PIP3 taip:

$ pip3 įdiegti seleną

Atsisiųskite ir įdiekite visas reikalingas interneto tvarkykles vairuotojai/ projekto katalogas. Savo straipsnyje aprašiau žiniatinklio tvarkyklių atsisiuntimo ir diegimo procesą Įvadas į seleną naudojant „Python 3“ . Jei jums reikia pagalbos, ieškokite LinuxHint.com už tą straipsnį.

Šio straipsnio demonstravimui naudosiu „Google Chrome“ žiniatinklio naršyklę. Taigi, aš naudosiu chromedriver dvejetainis su selenu. Turėtumėte naudoti gekono vairuotojas dvejetainis, jei norite naudoti „Firefox“ žiniatinklio naršyklę.

Sukurkite „Python“ scenarijų ex01.py savo projekto kataloge ir įveskite šias kodų eilutes.

nuoselenasimportasinterneto tvarkyklę
nuoselenas.interneto tvarkyklę.dažnas.raktai importasRaktai
galimybės=interneto tvarkyklę.„Chrome“ parinktys()
galimybės.be galvos = Tiesa
naršyklė=interneto tvarkyklę.„Chrome“(vykdomasis_ kelias='./drivers/chromedriver',galimybės=galimybės)
naršyklė.gauti(„https://duckduckgo.com/“)
spausdinti(naršyklė.dabartinis_url)
naršyklė.Uždaryti()

Baigę išsaugokite ex01.py „Python“ scenarijus.

Čia 1 ir 2 eilutės importuoja visus reikalingus komponentus iš „Python“ seleno bibliotekos.

4 eilutė sukuria „Chrome“ parinkčių objektą, o 5 eilutė įgalina „Chrome“ žiniatinklio naršyklės režimą be galvos.

7 eilutė sukuria „Chrome“ naršyklė objektas naudojant chromedriver dvejetainis iš vairuotojai/ projekto katalogas.

9 eilutė nurodo naršyklei įkelti „duckduckgo.com“ svetainę.

10 eilutėje spausdinamas dabartinis naršyklės URL. Čia, browser.current_url nuosavybė naudojama norint pasiekti dabartinį naršyklės URL.

12 eilutė uždaro naršyklę.

Paleiskite „Python“ scenarijų ex01.py taip:

$ python3 ex01.py

Kaip matote, dabartinis URL ( https://duckduckgo.com ) yra atspausdintas konsolėje.

Ankstesniame pavyzdyje apsilankiau svetainėje duckduckgo.com ir konsolėje atspausdinau dabartinį URL. Pateikiamas puslapio, kuriame lankomės, URL. Nelabai išgalvota, nes jau žinome puslapio URL. Dabar ieškokime kažko „DuckDuckGo“ ir pabandykime konsolėje išspausdinti paieškos rezultatų puslapio URL.

Sukurkite „Python“ scenarijų ex02.py savo projekto kataloge ir įveskite šias kodų eilutes.

nuoselenasimportasinterneto tvarkyklę
nuoselenas.interneto tvarkyklę.dažnas.raktai importasRaktai
galimybės=interneto tvarkyklę.„Chrome“ parinktys()
galimybės.be galvos = Tiesa
naršyklė=interneto tvarkyklę.„Chrome“(vykdomasis_ kelias='./drivers/chromedriver',galimybės=galimybės)
naršyklė.gauti(„https://duckduckgo.com/“)
spausdinti(naršyklė.dabartinis_url)
searchInput=naršyklė.find_element_by_id('search_form_input_homepage')
searchInput.send_keys('seleno hq'+ Raktai.Įveskite)
spausdinti(naršyklė.dabartinis_url)
naršyklė.Uždaryti()

Baigę išsaugokite ex02.py „Python“ scenarijus.

Čia 1-10 eilutės yra tokios pačios kaip ir ex01.py . Taigi, aš jų daugiau neaiškinu.

12 eilutė suranda paieškos teksto laukelį ir išsaugo jį searchInput kintamasis.

13 eilutė siunčia paieškos užklausą seleno hq viduje konors searchInput teksto laukelį ir paspauskite raktą naudojant Raktai.ENTRAS .

Kai paieškos puslapis įkeliamas, browser.current_url naudojamas norint pasiekti atnaujintą dabartinį URL.

15 eilutė konsolėje spausdina atnaujintą dabartinį URL.

17 eilutė uždaro naršyklę.

Paleiskite ex02.py „Python“ scenarijus:

$ python3 ex02.py

Kaip matote, „Python“ scenarijus ex02.py spausdina 2 URL.

Pirmasis yra paieškos sistemos „DuckDuckGo“ pagrindinio puslapio URL.

Antrasis yra atnaujintas dabartinis URL, atlikus paiešką „DuckDuckGo“ paieškos sistemoje naudojant užklausą seleno hq .

Išvada:

Šiame straipsnyje aš jums parodžiau, kaip gauti dabartinį žiniatinklio naršyklės URL naudojant „Selenium Python“ biblioteką. Dabar turėtumėte sugebėti padaryti savo seleno projektus įdomesnius.