Jak odświeżyć stronę za pomocą selenu

Jak odświeżyć stronę za pomocą selenu
Odświeżające strony internetowe to bardzo powszechna akcja. Odświeżamy stronę internetową, aby zobaczyć zaktualizowane wyniki. To samo dotyczy testowania przeglądarki, automatyzacji internetowej i skrobania internetowego za pomocą sterownika internetowego Selenium.

W tym artykule pokażę Ci, jak odświeżyć stronę za pomocą biblioteki Selenium Python. Więc zacznijmy.

Wymagania wstępne:

Aby wypróbować polecenia i przykłady tego artykułu, musisz mieć,

1) Dystrybucja Linux (najlepiej Ubuntu) zainstalowana na komputerze.
2) Python 3 zainstalowany na komputerze.
3) PIP 3 zainstalowany na komputerze.
4) Python Virtualenv Pakiet zainstalowany na komputerze.
5) Przeglądarki internetowe Mozilla Firefox lub Google Chrome zainstalowane na komputerze.
6) Muszę wiedzieć, jak zainstalować sterownik Gecko Firefox lub Chrome Web Sterownik.

Aby spełnić wymagania 4, 5 i 6, przeczytaj mój artykuł Wprowadzenie do selenu z Python 3 w Linuxhint.com.

Można znaleźć wiele artykułów na inne tematy na Linuxhint.com. Pamiętaj, aby je sprawdzić, jeśli potrzebujesz pomocy.

Konfiguracja katalogu projektu:

Aby wszystko się zorganizowano, stwórz nowy katalog projektowy selen-refresh/ następująco:

$ mkdir -pv selen -refresh/sterowniki

Przejść do selen-refresh/ Katalog projektu w następujący sposób:

$ CD Selenium-Refresh/

Utwórz wirtualne środowisko Python w katalogu projektu w następujący sposób:

$ Virtualenv .Venv

Aktywuj środowisko wirtualne w następujący sposób:

$ źródło .venv/bin/aktywuj

Zainstaluj bibliotekę Selenium Python za pomocą PIP3 w następujący sposób:

$ PIP3 instaluj selen

Pobierz i zainstaluj cały wymagany sterownik internetowy w kierowcy/ Katalog projektu. Wyjaśniłem proces pobierania i instalowania sterowników internetowych w moim artykule Wprowadzenie do selenu z Python 3. Jeśli potrzebujesz pomocy, wyszukaj Linuxhint.com do tego artykułu.

Metoda 1: Za pomocą metody przeglądarki Refresh ()

Pierwsza metoda jest najłatwiejsza i zalecana metoda odświeżającej strony z selenem.

Utwórz nowy skrypt Python Ex01.py w i wpisz w następujących wierszach kodów.

od selenu importu Webdriver
z selenu.Webdriver.wspólny.Klucze importują klucze
Od czasu importuj sen
opcje = WebDriver.Chromeoptions ()
opcje.bezgłowy = prawda
Browser = WebDriver.Chrome (Exceutable_path = "./sterowniki/chromedriver ", opcje = opcje)
przeglądarka.Get ("https: // www.UNIXTIMESTAMP.com/”)
Timestamp = przeglądarka.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Drukuj („Obecny znacznik czasu: % s” (znacznik czasu.tekst.split (") [0]))
sen (5)
przeglądarka.odświeżać()
Timestamp = przeglądarka.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Drukuj („Obecny znacznik czasu: % s” (znacznik czasu.tekst.split (") [0]))
przeglądarka.zamknąć()

Po zakończeniu zapisz Ex01.py Skrypt Pythona.

Linia 1 i 2 importuje wszystkie wymagane elementy selenu.

Linia 3 Importuj funkcję sleep () z biblioteki czasowej. Użyję tego, aby poczekać kilka sekund na aktualizację strony, abyśmy mogli pobrać nowe dane po odświeżeniu strony internetowej.

Linia 5 tworzy obiekt opcji Chrome, a linia 6 włącza tryb bezgłowy dla przeglądarki internetowej Chrome.

Linia 8 tworzy chrom przeglądarka obiekt za pomocą chromedriver binarny z kierowcy/ Katalog projektu.

Linia 9 informuje przeglądarkę, aby załadował witrynę UNIXTIMESTAMP.com.

Wiersz 11 znajduje element, który ma dane znaczników czasu ze strony za pomocą selektora XPath i przechowuje go w znak czasu zmienny.

Linia 12 analizuje dane dotyczące znacznika czasu z elementu i drukuje na konsoli.

Wiersz 14 używa spać() funkcja czeka na 5 sekund.

Wiersz 15 odświeża bieżącą stronę za pomocą przeglądarka.odświeżać() metoda.

Linia 17 i 18 jest taka sama jak linia 11 i 12. Znajduje element znacznika czasu ze strony i drukuje zaktualizowany znacznik czasu na konsoli.

Linia 20 zamyka przeglądarkę.

Uruchom skrypt Python Ex01.py następująco:

$ Python3 Ex01.py

Jak widać, znacznik czasu jest drukowana na konsoli.

Po 5 sekundach drukowania pierwszego znacznika czasu strona jest odświeżana, a zaktualizowany znacznik czasu jest wydrukowany na konsoli, jak widać na zrzucie ekranu poniżej.

Metoda 2: Wróć do tego samego adresu URL

Drugą metodą odświeżenia strony jest ponowne ponowne uwzględnienie tego samego adresu URL za pomocą przeglądarka.Dostawać() metoda.

Utwórz skrypt Python Ex02.py w katalogu projektu i wpisz w poniższych wierszach kodów.

od selenu importu Webdriver
z selenu.Webdriver.wspólny.Klucze importują klucze
Od czasu importuj sen
opcje = WebDriver.Chromeoptions ()
opcje.bezgłowy = prawda
Browser = WebDriver.Chrome (Exceutable_path = "./sterowniki/chromedriver ", opcje = opcje)
przeglądarka.Get ("https: // www.UNIXTIMESTAMP.com/”)
Timestamp = przeglądarka.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Drukuj („Obecny znacznik czasu: % s” (znacznik czasu.tekst.split (") [0]))
sen (5)
przeglądarka.Get (przeglądarka.current_url)
Timestamp = przeglądarka.find_element_by_xpath ("// h3 [@class = 'text-danger'] [1]")
Drukuj („Obecny znacznik czasu: % s” (znacznik czasu.tekst.split (") [0]))
przeglądarka.zamknąć()

Po zakończeniu zapisz Ex02.py Skrypt Pythona.

Wszystko jest takie samo jak w EX01.py. Jedyna różnica jest w linii 15.

Tutaj używam przeglądarka.Dostawać() Metoda odwiedzenia bieżącego adresu URL strony. Do bieżącego adresu URL strony można uzyskać za pomocą przeglądarka.current_url nieruchomość.

Uruchom Ex02.py Skrypt Pythona w następujący sposób:

$ Python3 Ex02.py

Jak widać, skrypt Pythion Ex02.py drukuje ten sam rodzaj informacji, co w Ex01.py.

Wniosek:

W tym artykule pokazałem 2 metody odświeżenia obecnej strony za pomocą biblioteki Selenium Python. Powinieneś być teraz w stanie zrobić bardziej interesujące rzeczy z selenem.