Selenium

Jak uzyskać aktualny adres URL za pomocą Selenium?

Jak uzyskać aktualny adres URL za pomocą Selenium?
Selenium to narzędzie do testowania przeglądarki, automatyzacji sieci i web scrapingu. Podczas pracy nad projektami Selenium może być konieczne poznanie adresu URL strony, którą wyświetla Twoja przeglądarka internetowa kontrolowana przez Selenium. Ta informacja może byćprzydatna do śledzenia adresu URL, z którego wyodrębniono niektóre dane, dzięki czemu możesz je automatycznie zaktualizować za pomocą skryptu.

W tym artykule pokażę, jak uzyskać aktualny adres URL przeglądarki za pomocą Selenium. 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-url/ następująco:

$ mkdir -pv selen-url/sterowniki

Przejdź do to selen-url/ katalog projektu w następujący sposób:

$ cd selen-url/

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 w swoim środowisku wirtualnym 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.

Do demonstracji w tym artykule będę używał przeglądarki internetowej Google Chrome. Więc będę używał chromedriver binarny z Selenium. Powinieneś użyć geckodriver binarny, jeśli chcesz używać przeglądarki internetowej Firefox.

Pobieranie bieżącego adresu URL z Selenium:

Utwórz skrypt Pythona ex01.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
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://kacze kacze.pl/")
drukuj (przeglądarka.bieżący_url)
przeglądarka.blisko()

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

Tutaj wiersz 1 i wiersz 2 importują wszystkie wymagane komponenty z biblioteki selenowej Pythona.

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

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

Linia 9 mówi przeglądarce, aby załadować duckduckgo.strona internetowa com.

Linia 10 wyświetla aktualny adres URL przeglądarki. Tutaj, przeglądarka.bieżący_url właściwość służy do uzyskiwania dostępu do aktualnego adresu URL przeglądarki.

Linia 12 zamyka przeglądarkę.

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

$ python3 ex01.py

Jak widać, aktualny adres URL (https://duckduckgo.com) jest wydrukowany na konsoli.

We wcześniejszym przykładzie odwiedziłem stronę duckduckgo.com i wydrukowałem aktualny adres URL na konsoli. Zwraca adres URL odwiedzanej strony. Niezbyt wyszukane, ponieważ znamy już adres URL strony page. Teraz wyszukajmy coś na DuckDuckGo i spróbujmy wydrukować adres URL strony wyników wyszukiwania na konsoli.

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
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://kacze kacze.pl/")
drukuj (przeglądarka.bieżący_url)
searchInput = przeglądarka.find_element_by_id('search_form_input_homepage')
searchInput.send_keys('selenium hq' + klawisze.WCHODZIĆ)
drukuj (przeglądarka.bieżący_url)
przeglądarka.blisko()

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

Tutaj wiersze 1-10 są takie same jak w ex01.py. Więc nie wyjaśniam ich ponownie.

Linia 12 wyszukuje pole tekstowe wyszukiwania i przechowuje je w searchInput zmienna.

Linia 13 wysyła zapytanie wyszukiwania selen hq w searchInput pole tekstowe i naciska klucz za pomocą Klucze.WCHODZIĆ.

Po załadowaniu strony wyszukiwania, przeglądarka.bieżący_url służy do uzyskiwania dostępu do zaktualizowanego aktualnego adresu URL.

Linia 15 wyświetla zaktualizowany aktualny adres URL na konsoli.

Linia 17 zamyka przeglądarkę.

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

$ python3 ex02.py

Jak widać, skrypt Pythona ex02.py drukuje 2 adresy URL.

Pierwszy to adres URL strony głównej wyszukiwarki DuckDuckGo.

Drugi to zaktualizowany aktualny adres URL po przeprowadzeniu wyszukiwania w wyszukiwarce DuckDuckGo za pomocą zapytania selen hq.

Wniosek:

W tym artykule pokazałem, jak uzyskać aktualny adres URL przeglądarki internetowej za pomocą biblioteki Selenium Python. Teraz powinieneś być w stanie uatrakcyjnić swoje projekty Selenium.

Gry Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Wielu twórców gier i wydawców wymyśla remaster HD starych gier, aby przedłużyć żywotność serii, prosimy fanów o kompatybilność z nowoczesnym sprzętem ...
Gry Jak używać AutoKey do automatyzacji gier Linux
Jak używać AutoKey do automatyzacji gier Linux
AutoKey to narzędzie do automatyzacji pulpitu dla systemów Linux i X11, zaprogramowane w Python 3, GTK i Qt. Korzystając ze skryptów i funkcji MAKRO, ...
Gry How to Show FPS Counter in Linux Games
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...