Selenium

Hoe de pagina te vernieuwen met Selenium

Hoe de pagina te vernieuwen met Selenium
Het vernieuwen van webpagina's is een veel voorkomende actie. We vernieuwen de webpagina om de bijgewerkte resultaten te zien. Hetzelfde geldt voor browsertests, webautomatisering en webscraping met Selenium-webstuurprogramma.

In dit artikel laat ik je zien hoe je een pagina ververst met de Selenium Python-bibliotheek. Dus laten we beginnen.

Vereisten:

Om de opdrachten en voorbeelden van dit artikel uit te proberen, moet je:,

1) Een Linux-distributie (bij voorkeur Ubuntu) geïnstalleerd op uw computer.
2) Python 3 geïnstalleerd op uw computer.
3) PIP 3 geïnstalleerd op uw computer.
4) Python virtueel pakket geïnstalleerd op uw computer.
5) Mozilla Firefox- of Google Chrome-webbrowsers geïnstalleerd op uw computer.
6) Moet weten hoe de Firefox Gecko Driver of Chrome Web Driver te installeren.

Lees mijn artikel om aan de vereisten 4, 5 en 6 te voldoen Inleiding tot Selenium met Python 3 bij Linuxhint.com.

Je kunt veel artikelen over de andere onderwerpen vinden op LinuxHint.com. Bekijk ze zeker als je hulp nodig hebt.

Een projectmap opzetten:

Maak een nieuwe projectdirectory om alles overzichtelijk te houden selenium-refresh/ als volgt:

$ mkdir -pv selenium-refresh/drivers

Navigeer naar de selenium-refresh/ projectmap als volgt:

$ cd selenium-refresh/

Maak als volgt een virtuele Python-omgeving in de projectdirectory:

$ virtuele omgeving .venv

Activeer de virtuele omgeving als volgt:

$ bron .venv/bin/activeren

Installeer de Selenium Python-bibliotheek als volgt met PIP3:

$ pip3 installeer selenium

Download en installeer alle vereiste webstuurprogramma's in de chauffeurs/ map van het project. Ik heb het proces van het downloaden en installeren van webstuurprogramma's uitgelegd in mijn artikel Inleiding tot Selenium met Python 3. Als je hulp nodig hebt, zoek dan op LinuxHint.com voor dat artikel.

Methode 1: De browsermethode refresh() gebruiken

De eerste methode is de gemakkelijkste en aanbevolen methode voor het vernieuwen van de pagina met Selenium.

Een nieuw Python-script maken ex01.py in en typ de volgende regels codes erin:.

van selenium import webdriver
van selenium.webstuurprogramma.gemeenschappelijk.sleutels importeren Sleutels
van tijd import slaap
opties = webstuurprogramma.Chrome-opties()
opties.zonder hoofd = waar
browser = webstuurprogramma.Chrome(executable_path="./drivers/chromedriver", options=opties)
browser.get("https://www.unixtimestamp.com/")
tijdstempel = browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Huidige tijdstempel: %s' % (tijdstempel.tekst.split(")[0]))
slapen(5)
browser.verversen()
tijdstempel = browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Huidige tijdstempel: %s' % (tijdstempel.tekst.split(")[0]))
browser.dichtbij()

Als u klaar bent, slaat u de ex01.py Python-script.

Lijn 1 en 2 importeren alle benodigde Selenium componenten.

Regel 3 importeert de slaap()-functie uit de tijdbibliotheek. Ik zal dit gebruiken om een ​​paar seconden te wachten totdat de webpagina is bijgewerkt, zodat we nieuwe gegevens kunnen ophalen nadat de webpagina is vernieuwd.

Regel 5 maakt een Chrome-opties-object en regel 6 schakelt de headless-modus in voor de Chrome-webbrowser.

Lijn 8 maakt een Chrome browser object met behulp van de chromedriver binair van de chauffeurs/ map van het project.

Regel 9 vertelt de browser om de website unixtimestamp te laden.com.

Regel 11 vindt het element met de tijdstempelgegevens van de pagina met behulp van de XPath-selector en slaat het op in de tijdstempel variabele.

Regel 12 analyseert de tijdstempelgegevens van het element en drukt deze af op de console.

Lijn 14 gebruikt de slaap() functie om 5 seconden te wachten.

Regel 15 ververst de huidige pagina met de browser.verversen() methode.

Lijn 17 en 18 is hetzelfde als lijn 11 en 12. Het vindt het tijdstempelelement van de pagina en drukt het bijgewerkte tijdstempel af op de console.

Regel 20 sluit de browser.

Voer het Python-script uit ex01.py als volgt:

$ python3 ex01.py

Zoals u kunt zien, wordt de tijdstempel afgedrukt op de console.

Na 5 seconden na het afdrukken van de eerste tijdstempel, wordt de pagina vernieuwd en wordt de bijgewerkte tijdstempel afgedrukt op de console, zoals u kunt zien in de onderstaande schermafbeelding.

Methode 2: Dezelfde URL opnieuw bezoeken

De tweede methode om de pagina te vernieuwen is om dezelfde URL opnieuw te bezoeken met behulp van de browser.krijgen() methode.

Een Python-script maken ex02.py in uw projectdirectory en typ de volgende regels codes erin:.

van selenium import webdriver
van selenium.webstuurprogramma.gemeenschappelijk.sleutels importeren Sleutels
van tijd import slaap
opties = webstuurprogramma.Chrome-opties()
opties.zonder hoofd = waar
browser = webstuurprogramma.Chrome(executable_path="./drivers/chromedriver", options=opties)
browser.get("https://www.unixtimestamp.com/")
tijdstempel = browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Huidige tijdstempel: %s' % (tijdstempel.tekst.split(")[0]))
slapen(5)
browser.get(browser).huidige_url)
tijdstempel = browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Huidige tijdstempel: %s' % (tijdstempel.tekst.split(")[0]))
browser.dichtbij()

Als u klaar bent, slaat u de ex02.py Python-script.

Alles is hetzelfde als in ex01.py. Het enige verschil zit in regel 15.

Hier gebruik ik de browser.krijgen() methode om de huidige pagina-URL te bezoeken. De huidige pagina-URL is toegankelijk met de browser.huidige_url eigendom.

Voer de ... uit ex02.py Python-script als volgt:

$ python3 ex02.py

Zoals je kunt zien, is het Pythion-script ex02.py drukt hetzelfde type informatie af als in ex01.py.

Conclusie:

In dit artikel heb ik je 2 methoden laten zien om de huidige webpagina te vernieuwen met behulp van de Selenium Python-bibliotheek. Je zou nu interessantere dingen met Selenium moeten kunnen doen.

HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...
Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...