I denne artikkelen skal jeg vise deg hvordan du får tak i den nåværende nettadressen til nettleseren med Selenium. Så la oss komme i gang.
Forutsetninger:
For å prøve kommandoene og eksemplene til denne artikkelen må du ha,
1) En Linux-distribusjon (helst Ubuntu) installert på datamaskinen din.
2) Python 3 installert på datamaskinen din.
3) PIP 3 installert på datamaskinen din.
4) Python virtualenv pakken installert på datamaskinen din.
5) Mozilla Firefox eller Google Chrome nettlesere installert på datamaskinen din.
6) Må vite hvordan du installerer Firefox Gecko Driver eller Chrome Web Driver.
For å oppfylle kravene 4, 5 og 6, vennligst les artikkelen min Introduksjon til selen med Python 3 på Linuxhint.com.
Du kan finne mange artikler om de andre emnene på LinuxHint.com. Husk å sjekke dem ut hvis du trenger hjelp.
Sette opp en prosjektkatalog:
For å holde alt organisert, opprett en ny prosjektkatalog selen-url / som følger:
$ mkdir -pv selen-url / drivere
Naviger til selen-url / prosjektkatalog som følger:
$ cd selen-url /
Opprett et virtuelt Python-miljø i prosjektkatalogen som følger:
$ virtualenv .venv
Aktiver det virtuelle miljøet som følger:
$ kilde .venv / bin / aktiver
Installer Selenium Python-biblioteket i ditt virtuelle miljø ved hjelp av PIP3 som følger:
$ pip3 installer selen
Last ned og installer alle nødvendige nettdrivere i drivere / katalog av prosjektet. Jeg har forklart prosessen med å laste ned og installere nettdrivere i artikkelen min Introduksjon til selen med Python 3. Hvis du trenger hjelp, kan du søke på LinuxHint.com for den artikkelen.
Jeg vil bruke Google Chrome-nettleseren til demonstrasjonen i denne artikkelen. Så jeg skal bruke chromedriver binær med selen. Du bør bruke geckodriver binær hvis du vil bruke Firefox-nettleseren.
Få aktuell URL med selen:
Lag et Python-skript ex01.py i prosjektkatalogen og skriv inn følgende kodelinjer i den.
fra selen import webdriverfra selen.webdriver.felles.nøkler importerer nøkler
opsjoner = webdriver.ChromeOptions ()
alternativer.hodeløs = Sant
nettleser = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", opsjoner = opsjoner)
nettleser.få ("https: // duckduckgo.com / ")
skriv ut (nettleser.current_url)
nettleser.Lukk()
Når du er ferdig, lagrer du ex01.py Python-skript.
Her importerer linje 1 og linje 2 alle nødvendige komponenter fra Python selenium-biblioteket.
Linje 4 oppretter et Chrome Options-objekt, og linje 5 aktiverer hodeløs modus for Chrome-nettleseren.
Linje 7 oppretter en Chrome nettleser objektet ved hjelp av chromedriver binær fra drivere / katalog av prosjektet.
Linje 9 ber nettleseren om å laste inn duckduckgo.com nettsted.
Linje 10 skriver ut den nåværende nettadressen til nettleseren. Her, nettleser.gjeldende_url egenskap brukes til å få tilgang til den nåværende nettadressen til nettleseren.
Linje 12 lukker nettleseren.
Kjør Python-skriptet ex01.py som følger:
$ python3 ex01.py
Som du kan se, gjeldende URL (https: // duckduckgo.com) skrives ut på konsollen.
I det tidligere eksemplet har jeg besøkt nettstedet duckduckgo.com og skrev ut gjeldende URL på konsollen. Dette returnerer URL-en til siden vi besøker. Ikke veldig fancy, siden vi allerede kjenner URL-en til siden. La oss nå søke etter noe på DuckDuckGo og prøve å skrive ut URL-en til søkeresultatsiden på konsollen.
Lag et Python-skript ex02.py i prosjektkatalogen og skriv inn følgende kodelinjer i den.
fra selen import webdriverfra selen.webdriver.felles.nøkler importerer nøkler
opsjoner = webdriver.ChromeOptions ()
alternativer.hodeløs = Sant
nettleser = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", opsjoner = opsjoner)
nettleser.få ("https: // duckduckgo.com / ")
skriv ut (nettleser.current_url)
searchInput = nettleser.find_element_by_id ('search_form_input_homepage')
searchInput.send_keys ('selen hq' + nøkler.TAST INN)
skriv ut (nettleser.gjeldende_url)
nettleser.Lukk()
Når du er ferdig, lagrer du ex02.py Python-skript.
Her er linjene 1-10 de samme som i ex01.py. Så jeg forklarer dem ikke igjen.
Linje 12 finner søketekstboksen og lagrer den i searchInput variabel.
Linje 13 sender søket selen hq i searchInput tekstboksen og trykker på
Når søkesiden lastes inn, nettleser.gjeldende_url brukes til å få tilgang til den oppdaterte gjeldende URL-en.
Linje 15 skriver ut den oppdaterte gjeldende URL-en på konsollen.
Linje 17 lukker nettleseren.
Kjør ex02.py Python-skript som følger:
$ python3 ex02.py
Som du kan se, Python-skriptet ex02.py skriver ut 2 URL-er.
Den første er hjemmesiden URL til DuckDuckGo søkemotoren.
Den andre er den oppdaterte aktuelle URL-en etter å ha utført et søk på DuckDuckGo-søkemotoren ved hjelp av spørringen selen hq.
Konklusjon:
I denne artikkelen har jeg vist deg hvordan du får den nåværende URL-en til nettleseren ved hjelp av Selenium Python-biblioteket. Nå skal du kunne gjøre Selen-prosjektene dine mer interessante.