Hvordan få den nåværende nettadressen med selen

How Get Current Url With Selenium



Selen er et verktøy for nettlesertesting, webautomatisering og nettskraping. Mens du jobber med Selenium -prosjektene dine, må du kanskje vite nettadressen til siden din Selenium -kontrollerte nettleser viser. Denne informasjonen kan være nyttig for å holde oversikt over nettadressen der du har hentet ut data, slik at du kan oppdatere dataene automatisk ved hjelp av et skript.

I denne artikkelen skal jeg vise deg hvordan du får den nåværende nettadressen til nettleseren med Selenium. Så, la oss komme i gang.







Forutsetninger:

For å prøve kommandoene og eksemplene på denne artikkelen må du ha,



1) En Linux -distribusjon (helst Ubuntu) installert på datamaskinen din.
2) Python 3 installert på datamaskinen.
3) PIP 3 installert på datamaskinen.
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 temaene på LinuxHint.com . Husk å sjekke dem hvis du trenger hjelp.

Sette opp en prosjektkatalog:

For å holde alt organisert, opprett en ny prosjektkatalog selen-url/ følgende:



$mkdir -pvselen-url/sjåfører

Naviger til selen-url/ prosjektkatalog som følger:

$CDselen-url/

Lag et virtuelt Python -miljø i prosjektkatalogen som følger:

$virtualenv .venv

Aktiver det virtuelle miljøet som følger:

$kilde.venv/er/aktivere

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 webdrivere i sjåfører/ katalog over prosjektet. Jeg har forklart prosessen med å laste ned og installere webdrivere i artikkelen min Introduksjon til selen med Python 3 . Hvis du trenger hjelp, kan du søke videre LinuxHint.com for den artikkelen.

Jeg kommer til å bruke nettleseren Google Chrome for demonstrasjonen i denne artikkelen. Så, jeg kommer til å bruke chromedriver binært med selen. Du bør bruke gecko driver binært hvis du vil bruke nettleseren Firefox.

Lag et Python -skript ex01.py i prosjektkatalogen og skriv inn følgende koderader.

fraselenimportwebdriver
fraselen.webdriver.felles.nøkler importNøkler
alternativer=webdriver.ChromeOptions()
alternativer.hodeløs = ekte
nettleser=webdriver.Chrome(kjørbar_bane='./drivers/chromedriver',alternativer=alternativer)
nettleser.('https://duckduckgo.com/')
skrive 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 selenbibliotek.

Linje 4 oppretter et Chrome Options -objekt, og linje 5 aktiverer hodeløs modus for Chrome -nettleseren.

Linje 7 lager en Chrome nettleser objektet ved hjelp av chromedriver binær fra sjåfører/ katalog over prosjektet.

Linje 9 forteller nettleseren å laste nettstedet duckduckgo.com.

Linje 10 skriver ut den nåværende nettadressen til nettleseren. Her, browser.current_url egenskapen brukes til å få tilgang til nettadressen til nettleseren.

Linje 12 lukker nettleseren.

Kjør Python -skriptet ex01.py følgende:

$ python3 ex01.py

Som du kan se, er den nåværende nettadressen ( https://duckduckgo.com ) er skrevet ut på konsollen.

I det tidligere eksemplet har jeg besøkt nettstedet duckduckgo.com og skrevet ut den nåværende URL -en på konsollen. Dette returnerer nettadressen til siden vi besøker. Ikke veldig fancy, da vi allerede kjenner sidens URL. La oss nå søke etter noe på DuckDuckGo og prøve å skrive ut nettadressen til søkeresultatsiden på konsollen.

Lag et Python -skript ex02.py i prosjektkatalogen og skriv inn følgende koderader.

fraselenimportwebdriver
fraselen.webdriver.felles.nøkler importNøkler
alternativer=webdriver.ChromeOptions()
alternativer.hodeløs = ekte
nettleser=webdriver.Chrome(kjørbar_bane='./drivers/chromedriver',alternativer=alternativer)
nettleser.('https://duckduckgo.com/')
skrive ut(nettleser.current_url)
searchInput=nettleser.finn_element_by_id('search_form_input_homepage')
searchInput.send_key('selen hq'+ Nøkler.TAST INN)
skrive ut(nettleser.current_url)
nettleser.Lukk()

Når du er ferdig, lagrer du ex02.py Python -skript.

Her er linje 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økkel ved hjelp av Keys.ENTER .

Når søkesiden er lastet inn, browser.current_url brukes for å få tilgang til den oppdaterte nåværende nettadressen.

Linje 15 skriver ut den oppdaterte nåværende 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 nettadresser.

Den første er hjemmesiden URL til DuckDuckGo søkemotor.

Den andre er den oppdaterte nåværende URL etter å ha utført et søk på DuckDuckGo søkemotor 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å bør du kunne gjøre Selen -prosjektene dine mer interessante.