Selen

Slik oppdaterer du siden med selen

Slik oppdaterer du siden med selen
Forfriskende nettsider er en veldig vanlig handling. Vi oppdaterer nettsiden for å se de oppdaterte resultatene. Det samme gjelder for nettlesertesting, nettautomatisering og nettskraping med Selenium-nettdriver.

I denne artikkelen skal jeg vise deg hvordan du oppdaterer en side med Selenium Python-biblioteket. 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, 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-oppdatering / som følger:

$ mkdir -pv selen-oppdatering / drivere

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

$ cd selen-refresh /

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 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.

Metode 1: Bruke oppdateringsmetoden ()

Den første metoden er den enkleste og anbefalte metoden for den forfriskende siden med Selen.

Opprett et nytt Python-skript ex01.py skriv inn og skriv inn følgende kodelinjer i den.

fra selen import webdriver
fra selen.webdriver.felles.nøkler importerer nøkler
fra tid importerer søvn
opsjoner = webdriver.ChromeOptions ()
alternativer.hodeløs = Sant
nettleser = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", opsjoner = opsjoner)
nettleser.få ("https: // www.unixtimestamp.com / ")
tidsstempel = nettleser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
utskrift ('Gjeldende tidsstempel:% s'% (tidsstempel.tekst.delt (") [0]))
sove (5)
nettleser.forfriske()
tidsstempel = nettleser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
utskrift ('Gjeldende tidsstempel:% s'% (tidsstempel.tekst.delt (") [0]))
nettleser.Lukk()

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

Linje 1 og 2 importerer alle nødvendige Selen-komponenter.

Linje 3 importerer hvilemodus () fra tidsbiblioteket. Jeg vil bruke dette til å vente noen sekunder på at websiden skal oppdateres, slik at vi kan hente nye data etter å ha oppdatert siden.

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

Linje 8 oppretter en Chrome nettleser objektet ved hjelp av chromedriver binær fra drivere / katalog av prosjektet.

Linje 9 ber nettleseren om å laste inn nettstedet unixtimestamp.com.

Linje 11 finner elementet som har tidsstempeldataene fra siden ved hjelp av XPath-velgeren og lagrer det i tidsstempel variabel.

Linje 12 analyserer tidsstempeldataene fra elementet og skriver dem ut på konsollen.

Linje 14 bruker søvn() funksjonen for å vente i 5 sekunder.

Linje 15 oppdaterer gjeldende side ved hjelp av nettleser.forfriske() metode.

Linje 17 og 18 er den samme som linje 11 og 12. Den finner tidsstempelelementet fra siden og skriver ut den oppdaterte tidsstempelet på konsollen.

Linje 20 lukker nettleseren.

Kjør Python-skriptet ex01.py som følger:

$ python3 ex01.py

Som du kan se, blir tidsstemplet skrevet ut på konsollen.

Etter 5 sekunder med utskrift av det første tidsstemplet, oppdateres siden, og den oppdaterte tidsstemplet skrives ut på konsollen, som du kan se på skjermbildet nedenfor.

Metode 2: Gå tilbake på samme URL

Den andre metoden for å oppdatere siden er å gå tilbake til samme URL ved hjelp av nettleser.få() metode.

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

fra selen import webdriver
fra selen.webdriver.felles.nøkler importerer nøkler
fra tid importerer søvn
opsjoner = webdriver.ChromeOptions ()
alternativer.hodeløs = Sant
nettleser = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", opsjoner = opsjoner)
nettleser.få ("https: // www.unixtimestamp.com / ")
tidsstempel = nettleser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
utskrift ('Gjeldende tidsstempel:% s'% (tidsstempel.tekst.delt (") [0]))
sove (5)
nettleser.få (nettleser.current_url)
tidsstempel = nettleser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
utskrift ('Gjeldende tidsstempel:% s'% (tidsstempel.tekst.delt (") [0]))
nettleser.Lukk()

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

Alt er det samme som i ex01.py. Den eneste forskjellen er i linje 15.

Her bruker jeg nettleser.få() metode for å besøke den aktuelle URL-adressen. Den nåværende siden URL kan nås ved hjelp av nettleser.gjeldende_url eiendom.

Kjør ex02.py Python-skript som følger:

$ python3 ex02.py

Som du kan se, Pythion-skriptet ex02.py skriver ut samme type informasjon som i ex01.py.

Konklusjon:

I denne artikkelen har jeg vist deg to metoder for å oppdatere den nåværende websiden ved hjelp av Selenium Python-biblioteket. Du burde kunne gjøre mer interessante ting med Selen nå.

Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...