Selen

Sådan opdateres siden med selen

Sådan opdateres siden med selen
Opdatering af websider er en meget almindelig handling. Vi opdaterer websiden for at se de opdaterede resultater. Det samme gælder for browsertest, webautomatisering og webskrabning med Selenium-webdriver.

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 webdriver
fra 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 webdriver
fra 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.

Kæmp om Wesnoth-vejledning
Slaget om Wesnoth er et af de mest populære open source-strategispil, som du kan spille på dette tidspunkt. Ikke kun har dette spil været under udvikl...
0 A.D. Vejledning
Ud af de mange strategispil derude, 0 A.D. formår at skille sig ud som en omfattende titel og et meget dybt, taktisk spil på trods af at det er open s...
Unity3D Tutorial
Introduktion til Unity 3D Unity 3D er en kraftfuld spiludviklingsmotor. Det er cross platform, det er det giver dig mulighed for at oprette spil til m...