Hvordan oppdatere siden med selen

Hvordan oppdatere siden med selen
Forfriskende websider er en veldig vanlig handling. Vi oppdaterer nettsiden for å se de oppdaterte resultatene. Det samme er tilfelle for nettlesertesting, nettautomatisering og skraping av nettet med Selenium Web Driver.

I denne artikkelen skal jeg vise deg hvordan du skal oppdatere en side med Selenium Python Library. Så la oss komme i gang.

Forutsetninger:

For å prøve ut 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 din.
3) Pip 3 installert på datamaskinen din.
4) Python Virtualenv pakke 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 Hos Linuxhint.com.

Du kan finne mange artikler om de andre emnene på Linuxhint.com. Sørg for å sjekke dem ut hvis du trenger hjelp.

Sette opp en prosjektkatalog:

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

$ mkdir -pv selen -refresh/drivere

Naviger til selen-refresh/ Prosjektkatalog som følger:

$ CD Selenium-Refresh/

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

$ virtualenv .Venv

Aktiver det virtuelle miljøet som følger:

$ kilde .Venv/bin/aktiverer

Installer Selenium Python -biblioteket ved hjelp av PIP3 som følger:

$ pip3 installer selen

Last ned og installer all nødvendig nettdriver i drivere/ Katalogen til 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 Refresh () nettlesermetode

Den første metoden er den enkleste og den anbefalte metoden på den forfriskende siden med selen.

Lag et nytt Python -skript EX01.py i og skriv inn følgende koder i den.

Fra Selenium Import WebDriver
fra Selenium.Webdriver.felles.nøkler importerer nøkler
Fra tid importer søvn
Alternativer = webdriver.ChromeOptions ()
alternativer.Hodeløs = sant
nettleser = webdriver.Krom (kjørbar_path = "./Drivere/Chromedriver ", alternativer = alternativer)
nettleser.få ("https: // www.Unixtimestamp.com/")
Timestempel = nettleser.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Print ('Gjeldende tidsstempel: % S' % (tidsstempel.tekst.split (") [0]))
søvn (5)
nettleser.forfriske()
Timestempel = nettleser.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Print ('Gjeldende tidsstempel: % S' % (tidsstempel.tekst.split (") [0]))
nettleser.Lukk()

Når du er ferdig, kan du lagre EX01.py Python -manus.

Linje 1 og 2 importerer alle nødvendige selenkomponenter.

Linje 3 Imports søvn () Funksjon fra Time Library. Jeg vil bruke dette til å vente noen sekunder på at websiden skal oppdatere slik at vi kan hente nye data etter å ha forfrisket til websiden.

Linje 5 Oppretter et Chrome Option -objekt, og linje 6 muliggjør hodeløs modus for Chrome -nettleseren.

Linje 8 skaper et krom nettleser objekt ved å bruke Chromedriver binær fra drivere/ Katalogen til 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 den ut på konsollen.

Linje 14 bruker sove() funksjon for å vente i 5 sekunder.

Linje 15 oppdaterer den nåværende siden ved hjelp av nettleser.forfriske() metode.

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

Linje 20 lukker nettleseren.

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

$ Python3 EX01.py

Som du ser er tidsstempelet trykt på konsollen.

Etter 5 sekunder med utskrift av den første tidsstempel.

Metode 2: Å revidere den samme url

Den andre metoden for å oppdatere siden er å se på den samme URL -en ved hjelp av nettleser.få() metode.

Lag et Python -skript EX02.py I prosjektkatalogen din og skriv inn følgende koder i den.

Fra Selenium Import WebDriver
fra Selenium.Webdriver.felles.nøkler importerer nøkler
Fra tid importer søvn
Alternativer = webdriver.ChromeOptions ()
alternativer.Hodeløs = sant
nettleser = webdriver.Krom (kjørbar_path = "./Drivere/Chromedriver ", alternativer = alternativer)
nettleser.få ("https: // www.Unixtimestamp.com/")
Timestempel = nettleser.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Print ('Gjeldende tidsstempel: % S' % (tidsstempel.tekst.split (") [0]))
søvn (5)
nettleser.Få (nettleser.current_url)
Timestempel = nettleser.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Print ('Gjeldende tidsstempel: % S' % (tidsstempel.tekst.split (") [0]))
nettleser.Lukk()

Når du er ferdig, kan du lagre EX02.py Python -manus.

Alt er det samme som i EX01.py. Den eneste forskjellen er på linje 15.

Her bruker jeg nettleser.få() Metode for å besøke den gjeldende siden URL. Den gjeldende side -URL kan nås ved hjelp av nettleser.current_url eiendom.

Kjør EX02.py Python -manus som følger:

$ Python3 EX02.py

Som du ser, 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 Library. Du skal kunne gjøre mer interessante ting med Selenium nå.