Selenium

Cum să reîmprospătați pagina cu seleniu

Cum să reîmprospătați pagina cu seleniu
Reîmprospătarea paginilor web este o acțiune foarte frecventă. Reîmprospătăm pagina web pentru a vedea rezultatele actualizate. Același lucru este valabil și pentru testarea browserului, automatizarea web și răzuirea web cu driverul web Selenium.

În acest articol, vă voi arăta cum să reîmprospătați o pagină cu biblioteca Selenium Python. Asadar, haideti sa începem.

Condiții preliminare:

Pentru a încerca comenzile și exemplele acestui articol, trebuie să aveți,

1) O distribuție Linux (de preferință Ubuntu) instalată pe computer.
2) Python 3 instalat pe computer.
3) PIP 3 instalat pe computer.
4) Python virtualenv pachetul instalat pe computer.
5) Browsere web Mozilla Firefox sau Google Chrome instalate pe computer.
6) Trebuie să știți cum să instalați driverul Firefox Gecko sau driverul web Chrome.

Pentru îndeplinirea cerințelor 4, 5 și 6, citiți articolul meu Introducere în Seleniu cu Python 3 la Linuxhint.com.

Puteți găsi multe articole despre celelalte subiecte pe LinuxHint.com. Asigurați-vă că le verificați dacă aveți nevoie de asistență.

Configurarea unui director de proiect:

Pentru a menține totul organizat, creați un nou director de proiect reîmprospătare seleniu / după cum urmează:

$ mkdir -pv seleniu-refresh / drivere

Navigați la reîmprospătare seleniu / directorul proiectului după cum urmează:

$ cd selenium-refresh /

Creați un mediu virtual Python în directorul proiectului după cum urmează:

$ virtualenv .venv

Activați mediul virtual după cum urmează:

$ sursa .venv / bin / activate

Instalați biblioteca Selenium Python utilizând PIP3 după cum urmează:

$ pip3 instalează seleniu

Descărcați și instalați toate driverele web necesare în drivere / directorul proiectului. Am explicat procesul de descărcare și instalare a driverelor web în articolul meu Introducere în Seleniu cu Python 3. Dacă aveți nevoie de asistență, căutați pe LinuxHint.com pentru articolul respectiv.

Metoda 1: Utilizarea metodei refresh () Browser

Prima metodă este cea mai ușoară și recomandată pentru pagina răcoritoare cu Selenium.

Creați un nou script Python ex01.py în și introduceți următoarele rânduri de coduri în el.

de la selector de import webdriver
din seleniu.webdriver.uzual.import chei Chei
din timp import somn
opțiuni = webdriver.ChromeOptions ()
Opțiuni.fără cap = Adevărat
browser = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", options = options)
browser.get ("https: // www.unixtimestamp.com / ")
timestamp = browser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Timestamp curent:% s'% (timestamp.text.divizat (") [0]))
somn (5)
browser.reîmprospăta()
timestamp = browser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Timestamp curent:% s'% (timestamp.text.divizat (") [0]))
browser.închide()

Odată ce ați terminat, salvați ex01.py Script Python.

Linia 1 și 2 importă toate componentele de seleniu necesare.

Linia 3 importă funcția sleep () din biblioteca de timp. Voi folosi acest lucru pentru a aștepta câteva secunde până când pagina web se actualizează, astfel încât să putem prelua date noi după ce actualizăm pagina web.

Linia 5 creează un obiect Opțiuni Chrome, iar linia 6 activează modul fără cap pentru browserul web Chrome.

Linia 8 creează un Chrome browser obiect folosind râu cromat binar din drivere / directorul proiectului.

Linia 9 spune browserului să încarce site-ul web unixtimestamp.com.

Linia 11 găsește elementul care are datele de marcare a timpului din pagină folosind selectorul XPath și îl stochează în timestamp-ul variabil.

Linia 12 analizează datele de marcă de timp din element și le imprimă pe consolă.

Linia 14 folosește dormi() funcția să aștepte 5 secunde.

Linia 15 reîmprospătează pagina curentă folosind browser.reîmprospăta() metodă.

Linia 17 și 18 este aceeași cu linia 11 și 12. Găsește elementul de marcaj de timp din pagină și imprimă marcajul de timp actualizat pe consolă.

Linia 20 închide browserul.

Rulați scriptul Python ex01.py după cum urmează:

$ python3 ex01.py

După cum puteți vedea, marca de timp este imprimată pe consolă.

După 5 secunde de imprimare a primei mărci de timp, pagina este reîmprospătată, iar marca de timp actualizată este imprimată pe consolă, după cum puteți vedea în captura de ecran de mai jos.

Metoda 2: Revizitarea aceleiași adrese URL

A doua metodă de reîmprospătare a paginii este de a revizita aceeași adresă URL folosind browser.obține() metodă.

Creați un script Python ex02.py în directorul proiectului dvs. și introduceți următoarele linii de coduri în el.

de la selector de import webdriver
din seleniu.webdriver.uzual.import chei Chei
din timp import somn
opțiuni = webdriver.ChromeOptions ()
Opțiuni.fără cap = Adevărat
browser = webdriver.Chrome (executable_path = "./ drivers / chromedriver ", options = options)
browser.get ("https: // www.unixtimestamp.com / ")
timestamp = browser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Timestamp curent:% s'% (timestamp.text.divizat (") [0]))
somn (5)
browser.get (browser.curent_url)
timestamp = browser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Timestamp curent:% s'% (timestamp.text.divizat (") [0]))
browser.închide()

Odată ce ați terminat, salvați ex02.py Script Python.

Totul este la fel ca în ex01.py. Singura diferență este în linia 15.

Aici, folosesc browser.obține() metoda de a vizita adresa URL a paginii curente. Adresa URL a paginii curente poate fi accesată folosind browser.curent_url proprietate.

Rulați ex02.py Script Python după cum urmează:

$ python3 ex02.py

După cum puteți vedea, scriptul Pythion ex02.py tipărește același tip de informații ca în ex01.py.

Concluzie:

În acest articol, v-am arătat 2 metode de reîmprospătare a paginii web curente folosind biblioteca Selenium Python. Ar trebui să puteți face acum lucruri mai interesante cu Selenium.

Cum să dezvolți un joc pe Linux
Acum un deceniu, nu mulți utilizatori de Linux ar fi prezis că sistemul lor de operare preferat va fi într-o zi o platformă populară de jocuri pentru ...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Cele mai bune jocuri de linie de comandă pentru Linux
Linia de comandă nu este doar cel mai mare aliat al tău când folosești Linux - poate fi și sursa de divertisment, deoarece poți să o folosești pentru ...