Selenium

Kaip gauti dabartinį URL naudojant seleną

Kaip gauti dabartinį URL naudojant seleną
Selenas yra naršyklės testavimo, žiniatinklio automatizavimo ir žiniatinklio grandymo įrankis. Dirbdami su „Selenium“ projektais, gali tekti žinoti puslapio, kurį rodo „Selenium“ valdoma interneto naršyklė, URL. Ši informacija gali būti naudinga norint sekti URL, iš kurio ištraukėte kai kuriuos 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 naudojant „Selenium“. Taigi, pradėkime.

Būtinos sąlygos:

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

1) „Linux“ paskirstymas (pageidautina „Ubuntu“), įdiegtas jūsų kompiuteryje.
2) „Python 3“ įdiegtas jūsų kompiuteryje.
3) PIP 3 įdiegtas 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ą su „Python 3“ „Linuxhint“.com.

„LinuxHint“ galite rasti daug straipsnių kitomis temomis.com. Jei jums reikia pagalbos, būtinai patikrinkite juos.

Projektų katalogo nustatymas:

Kad viskas būtų tvarkinga, sukurkite naują projekto katalogą selenas-url / taip:

$ mkdir -pv selenium-url / tvarkyklės

Eikite į selenas-url / projekto katalogą taip:

$ cd selenas-URL /

Projekto kataloge sukurkite virtualią „Python“ aplinką taip:

$ virtualenv .venv

Suaktyvinkite virtualią aplinką taip:

$ šaltinis .venv / bin / aktyvuoti

Įdiekite „Selenium Python“ biblioteką į virtualią aplinką naudodami PIP3 taip:

$ pip3 įdiekite seleną

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

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

Kaip gauti dabartinį URL su selenu:

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

iš seleno importo žiniatinklio tvarkyklės
iš seleno.žiniatinklio tvarkyklė.paplitęs.raktai importuoja raktus
parinktys = žiniatinklio tvarkyklė.„Chrome“ parinktys ()
galimybės.be galvos = Tiesa
naršyklė = žiniatinklio tvarkyklė.„Chrome“ (vykdomojo_ kelias = "./ tvarkyklės / chromedriver ", parinktys = parinktys)
naršyklė.gauti ("https: // duckduckgo.com / ")
spausdinti (naršyklė.dabartinis_url)
naršyklė.Uždaryti()

Kai baigsite, išsaugokite ex01.py „Python“ scenarijus.

Čia 1 ir 2 eilutės importuoja visus reikiamus komponentus iš „Python selenium“ 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, naršyklė.current_url ypatybė 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) atspausdintas ant konsolės.

Ankstesniame pavyzdyje aplankiau svetainę duckduckgo.lt ir atspausdino dabartinį URL konsolėje. Tai grąžina lankomo puslapio URL. Nelabai puošnus, nes mes jau žinome puslapio URL. Dabar ieškokime kažko „DuckDuckGo“ ir pabandykime konsolėje atsispausdinti paieškos rezultatų puslapio URL.

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

iš seleno importo žiniatinklio tvarkyklės
iš seleno.žiniatinklio tvarkyklė.paplitęs.raktai importuoja raktus
parinktys = žiniatinklio tvarkyklė.„Chrome“ parinktys ()
galimybės.be galvos = Tiesa
naršyklė = žiniatinklio tvarkyklė.„Chrome“ (vykdomojo_ kelias = "./ tvarkyklės / chromedriver ", parinktys = parinktys)
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 ('selenium hq' + raktai.ENTER)
spausdinti (naršyklė.dabartinis_url)
naršyklė.Uždaryti()

Kai baigsite, išsaugokite ex02.py „Python“ scenarijus.

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

12 eilutėje surandamas paieškos teksto laukelis ir jis išsaugomas searchInput kintamasis.

13 eilutė siunčia paieškos užklausą seleno hq viduje konors searchInput teksto laukelį ir paspaudžia klavišą Raktai.ENTER.

Įkėlus paieškos puslapį, naršyklė.current_url naudojamas norint pasiekti atnaujintą dabartinį URL.

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

17 eilutė uždaro naršyklę.

Paleiskite ex02.py „Python“ scenarijus taip:

$ python3 ex02.py

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

Pirmasis yra „DuckDuckGo“ paieškos sistemos 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š parodžiau, kaip gauti dabartinį žiniatinklio naršyklės URL naudojant „Selenium Python“ biblioteką. Dabar turėtumėte sugebėti padaryti savo „Selenium“ projektus įdomesnius.

Kaip naudoti „GameConqueror Cheat Engine“ sistemoje „Linux“
Straipsnyje pateikiamas „GameConqueror“ apgaulės variklio naudojimo „Linux“ vadove. Daugelis žaidėjų, žaidžiančių sistemoje „Windows“, dažnai naudoja ...
Geriausi „Linux“ žaidimų konsolių emuliatoriai
Šiame straipsnyje bus išvardyta populiari žaidimų konsolių emuliavimo programinė įranga, skirta „Linux“. „Emuliacija“ yra programinės įrangos suderina...
Geriausi „Linux“ žaidimų distristai 2021 m
„Linux“ operacinė sistema nuėjo ilgą kelią nuo originalios, paprastos, serverio išvaizdos. Ši OS pastaraisiais metais nepaprastai patobulėjo ir dabar ...