Selenium

So aktualisieren Sie die Seite mit Selenium

So aktualisieren Sie die Seite mit Selenium
Das Aktualisieren von Webseiten ist eine sehr häufige Aktion. Wir aktualisieren die Webseite, um die aktualisierten Ergebnisse zu sehen. Das gleiche gilt für Browsertests, Webautomatisierung und Web-Scraping mit dem Selenium-Webtreiber.

In diesem Artikel zeige ich Ihnen, wie Sie eine Seite mit der Selenium Python-Bibliothek aktualisieren. Also lasst uns anfangen.

Voraussetzungen:

Um die Befehle und Beispiele dieses Artikels auszuprobieren, müssen Sie,

1) Eine auf Ihrem Computer installierte Linux-Distribution (vorzugsweise Ubuntu).
2) Python 3 auf Ihrem Computer installiert.
3) PIP 3 auf Ihrem Computer installiert.
4) Python virtuelle Umgebung Paket auf Ihrem Computer installiert.
5) Mozilla Firefox- oder Google Chrome-Webbrowser, die auf Ihrem Computer installiert sind.
6) Muss wissen, wie man den Firefox Gecko-Treiber oder den Chrome Web-Treiber installiert install.

Um die Anforderungen 4, 5 und 6 zu erfüllen, lesen Sie meinen Artikel Einführung in Selenium mit Python 3 bei Linuxhint.com.

Viele Artikel zu den anderen Themen finden Sie auf LinuxHint.com. Schauen Sie sie sich an, wenn Sie Hilfe benötigen.

Einrichten eines Projektverzeichnisses:

Um alles organisiert zu halten, erstellen Sie ein neues Projektverzeichnis Selen-Auffrischung/ wie folgt:

$ mkdir -pv selen-refresh/drivers

Navigieren Sie zum Selen-Auffrischung/ Projektverzeichnis wie folgt:

$ CD Selen-Refresh/

Erstellen Sie eine virtuelle Python-Umgebung im Projektverzeichnis wie folgt:

$ virtualenv .venv

Aktivieren Sie die virtuelle Umgebung wie folgt:

$ Quelle .venv/bin/aktivieren

Installieren Sie die Selenium Python-Bibliothek mit PIP3 wie folgt:

$ pip3 Selen installieren

Laden Sie alle erforderlichen Webtreiber herunter und installieren Sie sie im Fahrer/ Verzeichnis des Projekts. Den Vorgang zum Herunterladen und Installieren von Webtreibern habe ich in meinem Artikel erklärt Einführung in Selenium mit Python 3. Wenn Sie Hilfe benötigen, suchen Sie auf LinuxHinweis.com für diesen Artikel.

Methode 1: Verwenden der refresh()-Browsermethode

Die erste Methode ist die einfachste und empfohlene Methode der Aktualisierung der Seite mit Selenium.

Erstellen Sie ein neues Python-Skript ex01.py in und geben Sie die folgenden Codezeilen ein.

vom Selen-Import-Webtreiber
aus Selen.Webtreiber.verbreitet.Schlüsselimport Schlüssel
ab zeit importieren schlaf
Optionen = Webtreiber.ChromeOptions()
Optionen.kopflos = wahr
Browser = Webtreiber.Chrome(executable_path="./drivers/chromedriver", options=options)
Browser.bekommen("https://www.unixtimestamp.com/")
Zeitstempel = Browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Aktueller Zeitstempel: %s' % (Zeitstempel.Text.split(")[0]))
schlafen(5)
Browser.Aktualisierung()
Zeitstempel = Browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Aktueller Zeitstempel: %s' % (Zeitstempel.Text.split(")[0]))
Browser.schließen()

Wenn Sie fertig sind, speichern Sie die ex01.py Python-Skript.

Zeile 1 und 2 importiert alle erforderlichen Selenium-Komponenten.

Zeile 3 importiert die sleep()-Funktion aus der Zeitbibliothek. Ich werde dies verwenden, um einige Sekunden zu warten, bis die Webseite aktualisiert ist, damit wir nach dem Aktualisieren der Webseite neue Daten abrufen können.

Zeile 5 erstellt ein Chrome-Optionsobjekt und Zeile 6 aktiviert den Headless-Modus für den Chrome-Webbrowser.

Zeile 8 erstellt ein Chrome Browser Objekt mit dem Chromtreiber binär aus dem Fahrer/ Verzeichnis des Projekts.

Zeile 9 weist den Browser an, den Unixtimestamp der Website zu laden.com.

Zeile 11 findet das Element, das die Zeitstempeldaten von der Seite enthält, mithilfe des XPath-Selektors und speichert es im Zeitstempel Variable.

Zeile 12 parst die Zeitstempeldaten des Elements und gibt sie auf der Konsole aus.

Zeile 14 verwendet die schlafen() Funktion zum Warten von 5 Sekunden.

Zeile 15 aktualisiert die aktuelle Seite mit dem Browser.Aktualisierung() Methode.

Linie 17 und 18 ist identisch mit Linie 11 und 12. Es findet das Zeitstempelelement auf der Seite und druckt den aktualisierten Zeitstempel auf der Konsole.

Zeile 20 schließt den Browser.

Führen Sie das Python-Skript aus ex01.py wie folgt:

$ python3 ex01.py

Wie Sie sehen, wird der Zeitstempel auf der Konsole gedruckt.

5 Sekunden nach dem Drucken des ersten Zeitstempels wird die Seite aktualisiert und der aktualisierte Zeitstempel wird auf der Konsole gedruckt, wie Sie im Screenshot unten sehen können.

Methode 2: Wiederaufrufen derselben URL

Die zweite Methode zum Aktualisieren der Seite besteht darin, dieselbe URL mit dem Browser.erhalten() Methode.

Erstellen Sie ein Python-Skript ex02.py in Ihrem Projektverzeichnis und geben Sie die folgenden Codezeilen ein.

vom Selen-Import-Webtreiber
aus Selen.Webtreiber.verbreitet.Schlüsselimport Schlüssel
ab zeit importieren schlaf
Optionen = Webtreiber.ChromeOptions()
Optionen.kopflos = wahr
Browser = Webtreiber.Chrome(executable_path="./drivers/chromedriver", options=options)
Browser.bekommen("https://www.unixtimestamp.com/")
Zeitstempel = Browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Aktueller Zeitstempel: %s' % (Zeitstempel.Text.split(")[0]))
schlafen(5)
Browser.holen (Browser).aktuelle_URL)
Zeitstempel = Browser.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Aktueller Zeitstempel: %s' % (Zeitstempel.Text.split(")[0]))
Browser.schließen()

Wenn Sie fertig sind, speichern Sie die ex02.py Python-Skript.

Alles ist wie in ex01.py. Der einzige Unterschied ist in Zeile 15.

Hier verwende ich die Browser.erhalten() Methode zum Aufrufen der aktuellen Seiten-URL. Die aktuelle Seiten-URL kann über die Browser.aktuelle_url Eigentum.

Führen Sie die ex02.py Python-Skript wie folgt:

$ python3 ex02.py

Wie Sie sehen können, ist das Pythion-Skript ex02.py druckt die gleiche Art von Informationen wie in ex01.py.

Fazit:

In diesem Artikel habe ich Ihnen 2 Methoden zum Aktualisieren der aktuellen Webseite mit der Selenium Python-Bibliothek gezeigt. Sie sollten jetzt in der Lage sein, mit Selenium interessantere Dinge zu tun.

Nützliche Tools für Linux-Spieler
Wenn Sie gerne unter Linux spielen, haben Sie wahrscheinlich Apps und Dienstprogramme wie Wine, Lutris und OBS Studio verwendet, um das Spielerlebnis ...
HD-Remastered-Spiele für Linux, die noch nie zuvor eine Linux-Version hatten
Viele Spieleentwickler und -herausgeber entwickeln HD-Remaster alter Spiele, um die Lebensdauer des Franchise zu verlängern. Bitte Fans, die Kompatibi...
So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...