I denne artikel vil jeg vise dig, hvordan du får den aktuelle URL til browseren med Selen. Så lad os komme i gang.
Forudsætninger:
For at prøve kommandoer og eksempler på denne artikel skal du have,
1) En Linux-distribution (helst Ubuntu) installeret på din computer.
2) Python 3 installeret på din computer.
3) PIP 3 installeret på din computer.
4) Python virtualenv pakke installeret på din computer.
5) Mozilla Firefox eller Google Chrome webbrowsere installeret på din computer.
6) Skal vide, hvordan du installerer Firefox Gecko Driver eller Chrome Web Driver.
For at opfylde kravene 4, 5 og 6 skal du læse min artikel Introduktion til selen med Python 3 på Linuxhint.com.
Du kan finde mange artikler om de andre emner på LinuxHint.com. Sørg for at tjekke dem ud, hvis du har brug for hjælp.
Opsætning af et projektkatalog:
For at holde alt organiseret skal du oprette et nyt projektkatalog selen-url / som følger:
$ mkdir -pv selen-url / drivere
Naviger til selen-url / projektmappe som følger:
$ cd selen-url /
Opret et virtuelt Python-miljø i projektmappen som følger:
$ virtualenv .venv
Aktivér det virtuelle miljø som følger:
$ kilde .venv / bin / aktiver
Installer Selenium Python-biblioteket i dit virtuelle miljø ved hjælp af PIP3 som følger:
$ pip3 installer selen
Download og installer alle de krævede webdrivere i drivere / projektmappe. Jeg har forklaret processen med at downloade og installere webdrivere i min artikel Introduktion til selen med Python 3. Hvis du har brug for hjælp, skal du søge på LinuxHint.com til den artikel.
Jeg bruger Google Chrome-webbrowseren til demonstrationen i denne artikel. Så jeg vil bruge chromedriver binær med selen. Du skal bruge geckodriver binær, hvis du vil bruge Firefox-browseren.
Få aktuel URL med selen:
Opret et Python-script ex01.py i dit projektmappe, og indtast følgende linjer med koder i det.
fra selen import webdriverfra selen.webdriver.almindelige.nøgler importerer nøgler
optioner = webdriver.Chrome-valg ()
muligheder.headless = Sandt
browser = webdriver.Chrome (eksekverbar_sti = "./ drivers / chromedriver ", optioner = optioner)
browser.get ("https: // duckduckgo.com / ")
udskrive (browser.nuværende_url)
browser.tæt()
Når du er færdig, skal du gemme ex01.py Python-script.
Her importerer linje 1 og linje 2 alle de nødvendige komponenter fra Python selenium-biblioteket.
Linje 4 opretter et Chrome Options-objekt, og linje 5 muliggør hovedløs tilstand til Chrome-webbrowseren.
Linje 7 opretter en Chrome browser objekt ved hjælp af chromedriver binær fra drivere / projektmappe.
Linie 9 beder browseren om at indlæse duckduckgo.com-websted.
Linje 10 udskriver browserens aktuelle URL. Her, browser.nuværende_url egenskab bruges til at få adgang til den aktuelle URL i browseren.
Linje 12 lukker browseren.
Kør Python-scriptet ex01.py som følger:
$ python3 ex01.py
Som du kan se, den aktuelle URL (https: // duckduckgo.com) er trykt på konsollen.
I det tidligere eksempel har jeg besøgt hjemmesiden duckduckgo.com og udskrev den aktuelle URL på konsollen. Dette returnerer URL'en til den side, vi besøger. Ikke særlig fancy, da vi allerede kender URL'en til siden. Lad os nu søge efter noget på DuckDuckGo og prøve at udskrive URL'en til søgeresultatsiden på konsollen.
Opret et Python-script ex02.py i dit projektkatalog, og indtast følgende linjer med koder i det.
fra selen import webdriverfra selen.webdriver.almindelige.nøgler importerer nøgler
optioner = webdriver.Chrome-valg ()
muligheder.headless = Sandt
browser = webdriver.Chrome (eksekverbar_sti = "./ drivers / chromedriver ", optioner = optioner)
browser.get ("https: // duckduckgo.com / ")
udskrive (browser.nuværende_url)
searchInput = browser.find_element_by_id ('search_form_input_homepage')
searchInput.send_keys ('selen hq' + nøgler.GÅ IND)
udskrive (browser.nuværende_url)
browser.tæt()
Når du er færdig, skal du gemme ex02.py Python-script.
Her er linierne 1-10 de samme som i ex01.py. Så jeg forklarer dem ikke igen.
Linje 12 finder søgetekstfeltet og gemmer det i searchInput variabel.
Linie 13 sender søgeforespørgslen selen hq i searchInput tekstfelt og trykker på
Når søgesiden indlæses, browser.nuværende_url bruges til at få adgang til den opdaterede aktuelle URL.
Linje 15 udskriver den opdaterede aktuelle URL på konsollen.
Linje 17 lukker browseren.
Kør ex02.py Python-script som følger:
$ python3 ex02.py
Som du kan se, Python-scriptet ex02.py udskriver 2 URL'er.
Den første er webadressen til DuckDuckGo-søgemaskinen.
Den anden er den opdaterede aktuelle URL efter at have udført en søgning på DuckDuckGo-søgemaskinen ved hjælp af forespørgslen selen hq.
Konklusion:
I denne artikel har jeg vist dig, hvordan du får den aktuelle URL til webbrowseren ved hjælp af Selenium Python-biblioteket. Nu skal du være i stand til at gøre dine Selen-projekter mere interessante.