V tem članku vam bom pokazal, kako osvežiti stran s knjižnico Selenium Python. Torej, začnimo.
Pogoji:
Če želite preizkusiti ukaze in primere tega članka, jih morate imeti,
1) V računalniku nameščena distribucija Linuxa (po možnosti Ubuntu).
2) Python 3, nameščen v vašem računalniku.
3) PIP 3, nameščen v vašem računalniku.
4) Python virtualenv paket, nameščen v računalniku.
5) Spletni brskalniki Mozilla Firefox ali Google Chrome, nameščeni v vašem računalniku.
6) Morate vedeti, kako namestiti gonilnik Firefox Gecko ali spletni gonilnik Chrome.
Za izpolnjevanje zahtev 4, 5 in 6 preberite moj članek Uvod v selen s Pythonom 3 na Linuxhint.com.
V LinuxHintu lahko najdete veliko člankov o drugih temah.com. Ne pozabite jih preveriti, če potrebujete pomoč.
Nastavitev imenika projektov:
Če želite vse organizirati, ustvarite nov imenik projektov selen-osveži / kot sledi:
$ mkdir -pv selenium-refresh / gonilniki
Pomaknite se do selen-osveži / imenik projekta, kot sledi:
$ cd selen-osveži /
Ustvarite navidezno okolje Python v imeniku projekta, kot sledi:
$ virtualenv .venv
Aktivirajte navidezno okolje na naslednji način:
$ vir .venv / bin / aktiviraj
Namestite knjižnico Selenium Python s pomočjo PIP3, kot sledi:
$ pip3 namesti selen
Prenesite in namestite ves potrebni spletni gonilnik v vozniki / imenik projekta. V članku sem razložil postopek prenosa in namestitve spletnih gonilnikov Uvod v selen s Pythonom 3. Če potrebujete pomoč, poiščite LinuxHint.com za ta članek.
1. način: Uporaba brskalniške metode refresh ()
Prva metoda je najlažja in priporočena metoda osvežilne strani s selenom.
Ustvarite nov skript Python ex01.py in vnesite naslednje vrstice kod v njem.
iz spletnega pogona za uvoz selenaiz selena.spletni pogon.običajni.tipke za uvoz ključev
od časa uvoza spanja
options = spletni pogon.Možnosti Chrome ()
opcije.brezglava = Res
brskalnik = spletni voznik.Chrome (izvršljiva_pot = "./ drivers / chromedriver ", možnosti = možnosti)
brskalnik.get ("https: // www.unixtimestamp.com / ")
timestamp = brskalnik.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Trenutni časovni žig:% s'% (časovni žig.besedilo.split (") [0]))
spanje (5)
brskalnik.osveži ()
timestamp = brskalnik.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Trenutni časovni žig:% s'% (časovni žig.besedilo.split (") [0]))
brskalnik.zapri ()
Ko končate, shranite ex01.py Python skript.
Vrstici 1 in 2 uvozita vse zahtevane komponente selena.
Vrstica 3 uvozi funkcijo sleep () iz časovne knjižnice. To bom uporabil, da počakam nekaj sekund, da se spletna stran posodobi, da bomo lahko po osvežitvi spletne strani dobili nove podatke.
Vrstica 5 ustvari objekt Chrome Možnosti, vrstica 6 pa omogoča brezglavi način za spletni brskalnik Chrome.
Vrstica 8 ustvari Chrome brskalnik predmet z uporabo kromedriver binarni iz vozniki / imenik projekta.
Vrstica 9 brskalniku pove, naj naloži spletno mesto unixtimestamp.com.
Vrstica 11 z izbirnikom XPath poišče element, ki vsebuje podatke o časovnem žigu s strani, in ga shrani v časovni žig spremenljivka.
Vrstica 12 razčleni podatke o časovnem žigu iz elementa in jih natisne na konzolo.
Vrstica 14 uporablja spanje () funkcija počaka 5 sekund.
Vrstica 15 osveži trenutno stran s pomočjo brskalnik.osveži () metoda.
Vrstici 17 in 18 sta enaki vrstici 11 in 12. Na strani poišče element časovnega žiga in na konzolo natisne posodobljeni časovni žig.
Vrstica 20 zapre brskalnik.
Zaženite skript Python ex01.py kot sledi:
$ python3 ex01.py
Kot vidite, je časovni žig natisnjen na konzoli.
Po 5 sekundah tiskanja prvega časovnega žiga se stran osveži in posodobljeni časovni žig se natisne na konzoli, kot lahko vidite na spodnjem posnetku zaslona.
2. način: Ponovni pregled istega URL-ja
Drugi način osveževanja strani je ponovni obisk istega URL-ja z uporabo brskalnik.dobili () metoda.
Ustvarite skript Python ex02.py v imenik projekta in vanj vnesite naslednje vrstice kod.
iz spletnega pogona za uvoz selenaiz selena.spletni pogon.običajni.tipke za uvoz ključev
od časa uvoza spanja
options = spletni pogon.Možnosti Chrome ()
opcije.brezglava = Res
brskalnik = spletni voznik.Chrome (izvršljiva_pot = "./ drivers / chromedriver ", možnosti = možnosti)
brskalnik.get ("https: // www.unixtimestamp.com / ")
timestamp = brskalnik.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Trenutni časovni žig:% s'% (časovni žig.besedilo.split (") [0]))
spanje (5)
brskalnik.get (brskalnik.trenutni_url)
timestamp = brskalnik.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Trenutni časovni žig:% s'% (časovni žig.besedilo.split (") [0]))
brskalnik.zapri ()
Ko končate, shranite ex02.py Python skript.
Vse je enako kot v ex01.py. Razlika je le v vrstici 15.
Tukaj uporabljam brskalnik.dobili () za obisk trenutnega URL-ja strani. Do URL-ja trenutne strani je mogoče dostopati s pomočjo brskalnik.trenutni_url lastnine.
Zaženite ex02.py Python skript, kot sledi:
$ python3 ex02.py
Kot lahko vidite, skript Pythion ex02.py natisne isto vrsto informacij kot v ex01.py.
Zaključek:
V tem članku sem vam predstavil 2 načina osveževanja trenutne spletne strani s pomočjo knjižnice Selenium Python. Zdaj bi lahko s Selenijem počeli še zanimivejše stvari.