Jak zdobyć obecny adres URL z selenem

Jak zdobyć obecny adres URL z selenem
Selenium to narzędzie do testowania przeglądarki, automatyzacji sieci i skrobania internetowego. Podczas pracy nad projektami selenium może być konieczne znanie adresu URL strony, którą wyświetla przeglądarka internetowa kontrolowana przez selenium. Informacje te mogą być przydatne do śledzenia adresu URL, z którego wyodrębniłeś niektóre dane, abyś mógł automatycznie aktualizować dane.

W tym artykule pokażę ci, jak zdobyć obecny adres URL przeglądarki z selenem. 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 Selenum-Url/ następująco:

$ mkdir -pv selenum -url/sterowniki

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

$ CD Selenium-Url/

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 w swoim wirtualnym środowisku za pomocą PIP3 w następujący sposób:

$ PIP3 instaluj selen

Pobierz i zainstaluj wszystkie wymagane sterowniki internetowe 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.

W tym artykule będę używać przeglądarki internetowej Google Chrome. Więc będę używać chromedriver binarny z selenem. Powinieneś użyć Geckodriver binarny, jeśli chcesz użyć przeglądarki internetowej Firefox.

Uzyskanie aktualnego adresu URL z selenem:

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

od selenu importu Webdriver
z selenu.Webdriver.wspólny.Klucze importują klucze
opcje = WebDriver.Chromeoptions ()
opcje.bezgłowy = prawda
Browser = WebDriver.Chrome (Exceutable_path = "./sterowniki/chromedriver ", opcje = opcje)
przeglądarka.Get ("https: // duckduckgo.com/”)
Drukuj (przeglądarka.current_url)
przeglądarka.zamknąć()

Po zakończeniu zapisz Ex01.py Skrypt Pythona.

Tutaj linia 1 i linia 2 importuje wszystkie wymagane komponenty z biblioteki Python Selenium.

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

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

Linia 9 mówi przeglądarce, aby załadowała DuckDuckGo.Witryna COM.

Linia 10 drukuje bieżący adres URL przeglądarki. Tutaj, przeglądarka.current_url właściwość służy do dostępu do bieżącego adresu URL przeglądarki.

Linia 12 zamyka przeglądarkę.

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

$ Python3 Ex01.py

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

We wcześniejszym przykładzie odwiedziłem stronę internetową DuckDuckGo.com i wydrukował obecny adres URL na konsoli. To zwraca adres URL strony, którą odwiedzamy. Niezbyt fantazyjne, ponieważ znamy już adres URL strony. Teraz wyszukajmy coś na DuckDuckGo i spróbuj wydrukować adres URL strony wyników wyszukiwania na konsoli.

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
opcje = WebDriver.Chromeoptions ()
opcje.bezgłowy = prawda
Browser = WebDriver.Chrome (Exceutable_path = "./sterowniki/chromedriver ", opcje = opcje)
przeglądarka.Get ("https: // duckduckgo.com/”)
Drukuj (przeglądarka.current_url)
SearchInput = przeglądarka.find_element_by_id ('Search_form_input_homepage')
SearchInput.send_keys („klawisze„ Selenium HQ ” +.WCHODZIĆ)
Drukuj (przeglądarka.current_url)
przeglądarka.zamknąć()

Po zakończeniu zapisz Ex02.py Skrypt Pythona.

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

Wiersz 12 znajduje w wyszukiwaniu pola tekstu i przechowuje go w SearchInput zmienny.

Wiersz 13 wysyła zapytanie SELENIUM HQ w SearchInput pole tekstowe i naciska Klucz za pomocą Klucze.WCHODZIĆ.

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

Linia 15 drukuje zaktualizowany bieżący 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 Python Ex02.py Drukuje 2 adresy URL.

Pierwszy to adres URL strony głównej w wyszukiwarce DuckDuckGo.

Drugi to zaktualizowany bieżący adres URL po przeprowadzeniu wyszukiwania w wyszukiwarce DuckDuckGo za pomocą zapytania SELENIUM HQ.

Wniosek:

W tym artykule pokazałem, jak uzyskać obecny adres URL przeglądarki internetowej za pomocą biblioteki selenium Python. Teraz powinieneś być w stanie uczynić swoje projekty selenu bardziej interesującymi.