Как да получите текущия URL адрес със селен

How Get Current Url With Selenium



Селенът е инструмент за тестване на браузъри, уеб автоматизация и изстъргване на уеб. Докато работите върху вашите проекти на Selenium, може да се наложи да знаете URL адреса на страницата, която показва вашият уеб браузър, контролиран от Selenium. Тази информация може да бъде полезна за проследяване на URL адреса, откъдето сте извлекли някои данни, така че да можете да актуализирате данните автоматично с помощта на някакъв скрипт.

В тази статия ще ви покажа как да получите текущия URL адрес на браузъра със Selenium. И така, нека започнем.







Предпоставки:

За да изпробвате командите и примерите на тази статия, трябва да имате,



1) Linux дистрибуция (за предпочитане Ubuntu), инсталирана на вашия компютър.
2) Python 3 е инсталиран на вашия компютър.
3) PIP 3, инсталиран на вашия компютър.
4) Python virtualenv пакет, инсталиран на вашия компютър.
5) Mozilla Firefox или Google Chrome уеб браузъри, инсталирани на вашия компютър.
6) Трябва да знаете как да инсталирате Firefox Gecko Driver или Chrome Web Driver.



За да изпълните изискванията 4, 5 и 6, моля, прочетете моята статия Въведение в Selenium с Python 3 на Linuxhint.com.





Можете да намерите много статии по другите теми LinuxHint.com . Не забравяйте да ги проверите, ако имате нужда от помощ.

Настройване на директория на проекта:

За да поддържате всичко организирано, създайте нова директория на проекта селен-url/ както следва:



$mkdir -пвurl на селен/шофьори

Придвижете се до селен-url/ директория на проекта, както следва:

$CDurl на селен/

Създайте виртуална среда на Python в директорията на проекта, както следва:

$virtualenv .venv

Активирайте виртуалната среда, както следва:

$източник.venv/съм/активирате

Инсталирайте библиотеката на Selenium Python във вашата виртуална среда, използвайки PIP3, както следва:

$ pip3 инсталирайте селен

Изтеглете и инсталирайте всички необходими уеб драйвери в шофьори/ директория на проекта. Обясних процеса на изтегляне и инсталиране на уеб драйвери в моята статия Въведение в Selenium с Python 3 . Ако имате нужда от помощ, потърсете LinuxHint.com за тази статия.

Ще използвам уеб браузъра Google Chrome за демонстрацията в тази статия. Така че, ще използвам хромиран водач двоичен със селен. Трябва да използвате шофьор на гекон binary, ако искате да използвате уеб браузъра Firefox.

Създайте скрипт на Python ex01.py в директорията на вашия проект и въведете следните редове кодове в нея.

отселенвносуеб драйвер
отселен.уеб драйвер.често срещани.ключове вносКлючове
настроики=уеб драйвер.Опции за Chrome()
настроики.без глава = Вярно
браузър=уеб драйвер.Chrome(executable_path='./drivers/chromedriver',настроики=настроики)
браузър.вземете('https://duckduckgo.com/')
печат(браузър.current_url)
браузър.близо()

След като приключите, запазете ex01.py Python скрипт.

Тук ред 1 и ред 2 импортират всички необходими компоненти от библиотеката на селен на Python.

Ред 4 създава обект с опции за Chrome, а ред 5 разрешава режим без глава за уеб браузъра Chrome.

Ред 7 създава Chrome браузър обект, използващ хромиран водач двоичен от шофьори/ директория на проекта.

Ред 9 казва на браузъра да зареди уебсайта на duckduckgo.com.

Ред 10 отпечатва текущия URL адрес на браузъра. Тук, browser.current_url property се използва за достъп до текущия URL адрес на браузъра.

Ред 12 затваря браузъра.

Стартирайте скрипта на Python ex01.py както следва:

$ python3 ex01.py

Както можете да видите, текущият URL адрес ( https://duckduckgo.com ) се отпечатва на конзолата.

В по -ранния пример посетих уебсайта duckduckgo.com и отпечатах текущия URL адрес на конзолата. Това връща URL адреса на страницата, която посещаваме. Не е много фантастично, тъй като вече знаем URL адреса на страницата. Сега, нека потърсим нещо в DuckDuckGo и се опитаме да отпечатаме URL адреса на страницата с резултати от търсенето в конзолата.

Създайте скрипт на Python ex02.py в директорията на вашия проект и въведете следните редове кодове в нея.

отселенвносуеб драйвер
отселен.уеб драйвер.често срещани.ключове вносКлючове
настроики=уеб драйвер.Опции за Chrome()
настроики.без глава = Вярно
браузър=уеб драйвер.Chrome(executable_path='./drivers/chromedriver',настроики=настроики)
браузър.вземете('https://duckduckgo.com/')
печат(браузър.current_url)
searchInput=браузър.find_element_by_id('search_form_input_homepage')
searchInput.send_keys('селен hq'+ Ключове.ENTER)
печат(браузър.current_url)
браузър.близо()

След като приключите, запазете ex02.py Python скрипт.

Тук редове 1-10 са същите като в ex01.py . Така че не ги обяснявам отново.

Ред 12 намира текстовото поле за търсене и го съхранява в searchInput променлива.

Ред 13 изпраща заявката за търсене селен hq в searchInput текстово поле и натиска използване на ключ Ключове.ENTER .

След като страницата за търсене се зареди, browser.current_url се използва за достъп до актуализирания текущ URL адрес.

Ред 15 отпечатва актуализирания текущ URL адрес на конзолата.

Ред 17 затваря браузъра.

Стартирайте ex02.py Python скрипт, както следва:

$ python3 ex02.py

Както можете да видите, скриптът Python ex02.py отпечатва 2 URL адреса.

Първият е URL адресът на началната страница на търсачката DuckDuckGo.

Вторият е актуализираният текущ URL адрес след извършване на търсене в търсачката DuckDuckGo с помощта на заявката селен hq .

Заключение:

В тази статия ви показах как да получите текущия URL адрес на уеб браузъра, използвайки библиотеката Selenium Python. Сега трябва да можете да направите вашите проекти на Selenium по -интересни.