Selenium

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

Jak odświeżyć stronę za pomocą selenu?
Odświeżanie stron internetowych to bardzo powszechna czynność. Odświeżamy stronę, aby zobaczyć zaktualizowane wyniki. To samo dotyczy testowania przeglądarki, automatyzacji sieci i skrobania sieci za pomocą sterownika sieciowego Selenium.

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

Wymagania wstępne:

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

1) Dystrybucja Linuksa (najlepiej Ubuntu) zainstalowana na Twoim komputerze.
2) Python 3 zainstalowany na twoim komputerze.
3) PIP 3 zainstalowany na twoim komputerze.
4) Pythona wirtualne środowisko pakiet zainstalowany na twoim komputerze.
5) Przeglądarka internetowa Mozilla Firefox lub Google Chrome zainstalowana na Twoim komputerze.
6) Musisz wiedzieć, jak zainstalować sterownik Firefox Gecko lub Chrome Web Driver.

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

Możesz znaleźć wiele artykułów na inne tematy na LinuxHint.com. Sprawdź je, jeśli potrzebujesz pomocy.

Konfigurowanie katalogu projektu:

Aby wszystko było zorganizowane, utwórz nowy katalog projektów selen-odświeżanie/ następująco:

$ mkdir -pv selen-odświeżanie/sterowniki

Przejdź do to selen-odświeżanie/ katalog projektu w następujący sposób:

$ cd selen-odśwież/

Utwórz wirtualne środowisko Pythona 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 zainstaluj selen

Pobierz i zainstaluj wszystkie wymagane sterowniki sieciowe w kierowcy/ katalog projektu. W moim artykule wyjaśniłem proces pobierania i instalowania sterowników internetowych Wprowadzenie do Selenium w Pythonie 3. Jeśli potrzebujesz pomocy, szukaj dalej LinuxWskazówka.com dla tego artykułu.

Metoda 1: Korzystanie z metody przeglądarki refresh()

Pierwsza metoda to najłatwiejsza i zalecana metoda odświeżania strony z Selenium.

Utwórz nowy skrypt Pythona ex01.py i wpisz w nim następujące wiersze kodów.

z selen importu webdriver
z selenu.webdriver.wspólny.import kluczy Klucze
od czasu importuj sen
opcje = sterownik sieciowy.Opcje Chrome()
opcje.bezgłowy = Prawda
przeglądarka = sterownik sieciowy.Chrome(ścieżka_wykonywania =./drivers/chromedriver", opcje=opcje)
przeglądarka.pobierz("https://www.unix-sygnatura czasowa.pl/")
znacznik czasu = przeglądarka.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Aktualny znacznik czasu: %s' % (znacznik czasu.tekst.podziel(")[0]))
sen(5)
przeglądarka.odświeżać()
znacznik czasu = przeglądarka.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Aktualny znacznik czasu: %s' % (znacznik czasu.tekst.podziel(")[0]))
przeglądarka.blisko()

Gdy skończysz, zapisz ex01.py Skrypt Pythona.

Linia 1 i 2 importuje wszystkie wymagane składniki Selenium.

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

Wiersz 5 tworzy obiekt Chrome Options, a wiersz 6 włącza tryb bezgłowy w przeglądarce Chrome.

Linia 8 tworzy Chrome przeglądarka obiekt używając chromedriver binarny z kierowcy/ katalog projektu.

Linia 9 mówi przeglądarce, aby załadować stronę unixtimestamp.com.

Linia 11 odnajduje element, który posiada dane znacznika czasu ze strony za pomocą selektora XPath i przechowuje go w znak czasu zmienna.

Linia 12 analizuje dane znacznika czasu z elementu i wyświetla je na konsoli.

Linia 14 wykorzystuje sen() funkcja oczekiwania przez 5 sekund.

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

Linia 17 i 18 to to samo, co linie 11 i 12. Znajduje element znacznika czasu ze strony i drukuje zaktualizowany znacznik czasu na konsoli.

Linia 20 zamyka przeglądarkę.

Uruchom skrypt Pythona ex01.py następująco:

$ python3 ex01.py

Jak widać, znacznik czasu jest wydrukowany na konsoli.

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

Metoda 2: Ponowne odwiedzanie tego samego adresu URL

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

Utwórz skrypt Pythona ex02.py w katalogu swojego projektu i wpisz w nim następujące wiersze kodów.

z selen importu webdriver
z selenu.webdriver.wspólny.import kluczy Klucze
od czasu importuj sen
opcje = sterownik sieciowy.Opcje Chrome()
opcje.bezgłowy = Prawda
przeglądarka = sterownik sieciowy.Chrome(ścieżka_wykonywania =./drivers/chromedriver", opcje=opcje)
przeglądarka.pobierz("https://www.unix-sygnatura czasowa.pl/")
znacznik czasu = przeglądarka.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Aktualny znacznik czasu: %s' % (znacznik czasu.tekst.podziel(")[0]))
sen(5)
przeglądarka.pobierz (przeglądarka.bieżący_url)
znacznik czasu = przeglądarka.find_element_by_xpath("//h3[@class='text-danger'][1]")
print('Aktualny znacznik czasu: %s' % (znacznik czasu.tekst.podziel(")[0]))
przeglądarka.blisko()

Gdy skończysz, zapisz ex02.py Skrypt Pythona.

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

Tutaj używam przeglądarka.otrzymać() metoda odwiedzania bieżącego adresu URL strony. Aktualny adres URL strony można uzyskać za pomocą przeglądarka.bieżący_url własność.

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

$ python3 ex02.py

Jak widać, skrypt Pythion ex02.py drukuje ten sam typ informacji, co w ex01.py.

Wniosek:

W tym artykule przedstawiłem 2 metody odświeżenia bieżącej strony przy użyciu biblioteki Selenium Python. Powinieneś być teraz w stanie robić ciekawsze rzeczy z Selenium.

Gry Vulkan for Linux Users
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...
Gry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
Gry OpenTTD Tutorial
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...