I denne artikel vil jeg vise dig, hvordan du opdaterer en side med Selenium Python-biblioteket. Så lad os komme i gang.
Forudsætninger:
For at prøve kommandoer og eksempler på denne artikel skal du have,
1) En Linux-distribution (helst Ubuntu) installeret på din computer.
2) Python 3 installeret på din computer.
3) PIP 3 installeret på din computer.
4) Python virtualenv pakke installeret på din computer.
5) Mozilla Firefox eller Google Chrome webbrowsere installeret på din computer.
6) Skal vide, hvordan du installerer Firefox Gecko Driver eller Chrome Web Driver.
Læs min artikel for at opfylde kravene 4, 5 og 6 Introduktion til selen med Python 3 på Linuxhint.com.
Du kan finde mange artikler om de andre emner på LinuxHint.com. Sørg for at tjekke dem ud, hvis du har brug for hjælp.
Opsætning af et projektkatalog:
For at holde alt organiseret skal du oprette et nyt projektkatalog selen-opdatering / som følger:
$ mkdir -pv selen-opdatering / drivere
Naviger til selen-opdatering / projektmappe som følger:
$ cd selen-opdatering /
Opret et virtuelt Python-miljø i projektmappen som følger:
$ virtualenv .venv
Aktivér det virtuelle miljø som følger:
$ kilde .venv / bin / aktiver
Installer Selenium Python-biblioteket ved hjælp af PIP3 som følger:
$ pip3 installer selen
Download og installer alle de krævede webdrivere i drivere / projektmappe. Jeg har forklaret processen med at downloade og installere webdrivere i min artikel Introduktion til selen med Python 3. Hvis du har brug for hjælp, skal du søge på LinuxHint.com til den artikel.
Metode 1: Brug af browsermetoden refresh ()
Den første metode er den nemmeste og anbefalede metode til den forfriskende side med Selen.
Opret et nyt Python-script ex01.py indtast og skriv de følgende linier med koder i det.
fra selen import webdriverfra selen.webdriver.almindelige.nøgler importerer nøgler
fra tidspunktet import søvn
optioner = webdriver.Chrome-valg ()
muligheder.headless = Sandt
browser = webdriver.Chrome (eksekverbar_sti = "./ drivers / chromedriver ", optioner = optioner)
browser.get ("https: // www.unixtimestamp.com / ")
tidsstempel = browser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Aktuel tidsstempel:% s'% (tidsstempel.tekst.split (") [0]))
sove (5)
browser.Opdater()
tidsstempel = browser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Aktuel tidsstempel:% s'% (tidsstempel.tekst.split (") [0]))
browser.tæt()
Når du er færdig, skal du gemme ex01.py Python-script.
Linje 1 og 2 importerer alle de nødvendige Selen-komponenter.
Linje 3 importerer sleep () -funktion fra tidsbiblioteket. Jeg bruger dette til at vente et par sekunder på, at websiden opdateres, så vi kan hente nye data efter opdatering af websiden.
Linje 5 opretter et Chrome Options-objekt, og linje 6 muliggør hovedløs tilstand til Chrome-webbrowseren.
Linje 8 opretter en Chrome browser objekt ved hjælp af chromedriver binær fra drivere / projektmappe.
Linje 9 beder browseren om at indlæse hjemmesiden unixtimestamp.com.
Linje 11 finder det element, der har tidsstempledataene fra siden ved hjælp af XPath-vælgeren og gemmer det i tidsstempel variabel.
Linje 12 analyserer tidsstemplets data fra elementet og udskriver det på konsollen.
Linje 14 bruger søvn() funktion til at vente i 5 sekunder.
Linje 15 opdaterer den aktuelle side ved hjælp af browser.Opdater() metode.
Linje 17 og 18 er den samme som linje 11 og 12. Det finder tidsstempelelementet fra siden og udskriver det opdaterede tidsstempel på konsollen.
Linje 20 lukker browseren.
Kør Python-scriptet ex01.py som følger:
$ python3 ex01.py
Som du kan se, udskrives tidsstemplet på konsollen.
Efter 5 sekunders udskrivning af det første tidsstempel opdateres siden, og den opdaterede tidsstempel udskrives på konsollen, som du kan se i skærmbilledet nedenfor.
Metode 2: Revidere den samme URL
Den anden metode til opdatering af siden er at besøge den samme URL ved hjælp af browser.få() metode.
Opret et Python-script ex02.py i dit projektmappe, og indtast følgende linjer med koder i det.
fra selen import webdriverfra selen.webdriver.almindelige.nøgler importerer nøgler
fra tidspunktet import søvn
optioner = webdriver.Chrome-valg ()
muligheder.headless = Sandt
browser = webdriver.Chrome (eksekverbar_sti = "./ drivers / chromedriver ", optioner = optioner)
browser.get ("https: // www.unixtimestamp.com / ")
tidsstempel = browser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Aktuel tidsstempel:% s'% (tidsstempel.tekst.split (") [0]))
sove (5)
browser.få (browser.nuværende_url)
tidsstempel = browser.find_element_by_xpath ("// h3 [@ class = 'text-danger'] [1]")
print ('Aktuel tidsstempel:% s'% (tidsstempel.tekst.split (") [0]))
browser.tæt()
Når du er færdig, skal du gemme ex02.py Python-script.
Alt er det samme som i ex01.py. Den eneste forskel er i linje 15.
Her bruger jeg browser.få() metode til at besøge den aktuelle sides URL. Du kan få adgang til den aktuelle sides URL ved hjælp af browser.nuværende_url ejendom.
Kør ex02.py Python-script som følger:
$ python3 ex02.py
Som du kan se, Pythion-scriptet ex02.py udskriver den samme type information som i ex01.py.
Konklusion:
I denne artikel har jeg vist dig to metoder til at opdatere den aktuelle webside ved hjælp af Selen Python-biblioteket. Du burde være i stand til at gøre mere interessante ting med Selen nu.