Selen

Sådan får du den aktuelle URL med selen

Sådan får du den aktuelle URL med selen
Selen er et værktøj til browsertest, webautomatisering og webskrabning. Mens du arbejder på dine Selen-projekter, skal du muligvis kende URL'en til den side, din Selenium-kontrollerede webbrowser viser. Disse oplysninger kan være nyttige til at holde styr på webadressen, hvorfra du har ekstraheret nogle data, så du muligvis kan opdatere dataene automatisk ved hjælp af et script.

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 webdriver
fra 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 webdriver
fra 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å tast ved hjælp af Nøgler.GÅ IND.

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.

OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...
OpenTTD Tutorial
OpenTTD er et af de mest populære forretningssimuleringsspil derude. I dette spil skal du oprette en vidunderlig transportvirksomhed. Du starter dog i...
SuperTuxKart til Linux
SuperTuxKart er en fantastisk titel designet til at give dig Mario Kart-oplevelsen gratis på dit Linux-system. Det er ret udfordrende og sjovt at spil...