Selen

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

Hvordan få den nåværende nettadressen med selen
Selen er et verktøy for nettlesertesting, nettautomatisering og nettskraping. Mens du jobber med Selen-prosjektene dine, kan det hende du må vite URL-adressen til siden din Selen-kontrollerte nettleser viser. Denne informasjonen kan være nyttig for å holde rede på URL-en derfra du har hentet ut data, slik at du kanskje kan oppdatere dataene automatisk ved hjelp av noe skript.

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 webdriver
fra 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 webdriver
fra 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å tasten ved hjelp av Nøkler.TAST INN.

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.

Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...
Beste Linux Distros for spill i 2021
Linux-operativsystemet har kommet langt fra det originale, enkle, serverbaserte utseendet. Dette operativsystemet har forbedret seg enormt de siste år...