V tomto článku vám ukážu, jak obnovit stránku pomocí knihovny Selenium Python. Pojďme tedy začít.
Předpoklady:
Chcete-li vyzkoušet příkazy a příklady tohoto článku, musíte mít,
1) Ve vašem počítači je nainstalována distribuce Linuxu (nejlépe Ubuntu).
2) Python 3 nainstalovaný ve vašem počítači.
3) PIP 3 nainstalovaný ve vašem počítači.
4) Python virtuální balíček nainstalovaný v počítači.
5) Ve vašem počítači jsou nainstalovány webové prohlížeče Mozilla Firefox nebo Google Chrome.
6) Musíte vědět, jak nainstalovat ovladač Firefox Gecko nebo webový ovladač Chrome.
Pro splnění požadavků 4, 5 a 6 si přečtěte můj článek Úvod do selenu v Pythonu 3 ve službě Linuxhint.com.
Na LinuxHint najdete mnoho článků o dalších tématech.com. Nezapomeňte je zkontrolovat, pokud potřebujete pomoc.
Nastavení adresáře projektu:
Chcete-li mít vše uspořádané, vytvořte nový adresář projektu selen-refresh / jak následuje:
$ mkdir -pv selenium-refresh / ovladače
Přejděte na selen-refresh / adresář projektu takto:
$ cd selenium-refresh /
Vytvořte virtuální prostředí Pythonu v adresáři projektu následujícím způsobem:
$ virtualenv .venv
Aktivujte virtuální prostředí následujícím způsobem:
$ zdroj .venv / bin / aktivovat
Nainstalujte knihovnu Selenium Python pomocí PIP3 následujícím způsobem:
$ pip3 nainstalujte selen
Stáhněte a nainstalujte všechny požadované webové ovladače v Řidiči/ adresář projektu. Proces stahování a instalace webových ovladačů jsem vysvětlil ve svém článku Úvod do selenu v Pythonu 3. Pokud potřebujete pomoc, hledejte na LinuxTip.com pro tento článek.
Metoda 1: Použití metody prohlížeče refresh ()
První metoda je nejjednodušší a doporučená metoda osvěžující stránky se selenem.
Vytvořte nový skript v Pythonu ex01.py a zadejte do něj následující řádky kódů.
z webového ovladače pro import selenuze selenu.webdriver.běžný.klíče importovat klíče
od času importu spánku
options = webdriver.ChromeOptions ()
možnosti.bezhlavý = pravda
prohlížeč = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", options = options)
prohlížeč.get ("https: // www.unixtimestamp.com / ")
timestamp = prohlížeč.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Aktuální časové razítko:% s'% (časové razítko.text.split (") [0]))
spánek (5)
prohlížeč.Obnovit()
timestamp = prohlížeč.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Aktuální časové razítko:% s'% (časové razítko.text.split (") [0]))
prohlížeč.zavřít()
Až budete hotovi, uložte ex01.py Skript v Pythonu.
Řádky 1 a 2 importují všechny požadované komponenty selenu.
Řádek 3 importuje funkci sleep () z časové knihovny. Použiji to, abych počkal několik sekund na aktualizaci webové stránky, abychom mohli po obnovení webové stránky načíst nová data.
Řádek 5 vytváří objekt Možnosti prohlížeče Chrome a řádek 6 umožňuje bezhlavý režim pro webový prohlížeč Chrome.
Řádek 8 vytváří Chrome prohlížeč objekt pomocí chromedriver binární z Řidiči/ adresář projektu.
Řádek 9 říká prohlížeči, aby načetl unixtimestamp webové stránky.com.
Řádek 11 vyhledá prvek, který má data časového razítka ze stránky, pomocí voliče XPath a uloží jej do časové razítko proměnná.
Řádek 12 analyzuje data časových razítek z prvku a vytiskne je na konzole.
Řádek 14 používá spát() funkce počkejte 5 sekund.
Řádek 15 aktualizuje aktuální stránku pomocí prohlížeč.Obnovit() metoda.
Řádek 17 a 18 je stejný jako řádek 11 a 12. Vyhledá prvek časové značky ze stránky a vytiskne aktualizované časové razítko na konzole.
Řádek 20 zavře prohlížeč.
Spusťte skript Pythonu ex01.py jak následuje:
$ python3 ex01.py
Jak vidíte, časové razítko je vytištěno na konzole.
Po 5 sekundách tisku prvního časového razítka se stránka obnoví a aktualizované časové razítko se vytiskne na konzoli, jak vidíte na následujícím obrázku.
Metoda 2: Přehodnocení stejné adresy URL
Druhým způsobem obnovení stránky je znovu navštívit stejnou adresu URL pomocí prohlížeč.dostat() metoda.
Vytvořte skript v Pythonu ex02.py do adresáře projektu a zadejte do něj následující řádky kódů.
z webového ovladače pro import selenuze selenu.webdriver.běžný.klíče importovat klíče
od času importu spánku
options = webdriver.ChromeOptions ()
možnosti.bezhlavý = pravda
prohlížeč = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", options = options)
prohlížeč.get ("https: // www.unixtimestamp.com / ")
timestamp = prohlížeč.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Aktuální časové razítko:% s'% (časové razítko.text.split (") [0]))
spánek (5)
prohlížeč.get (prohlížeč.current_url)
timestamp = prohlížeč.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Aktuální časové razítko:% s'% (časové razítko.text.split (") [0]))
prohlížeč.zavřít()
Až budete hotovi, uložte ex02.py Skript v Pythonu.
Všechno je stejné jako v ex01.py. Jediný rozdíl je v řádku 15.
Tady používám prohlížeč.dostat() způsob návštěvy aktuální adresy URL stránky. Na aktuální adresu URL stránky lze přistupovat pomocí prohlížeč.current_url vlastnictví.
Spusťte ex02.py Skript v Pythonu takto:
$ python3 ex02.py
Jak vidíte, Pythionův skript ex02.py vytiskne stejný typ informací jako v ex01.py.
Závěr:
V tomto článku jsem vám ukázal 2 metody obnovení aktuální webové stránky pomocí knihovny Selen Python. Se selenem byste teď měli být schopni dělat více zajímavých věcí.