Как получить текущий URL-адрес с помощью Selenium

How Get Current Url With Selenium



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 или веб-драйвер Chrome.



Для выполнения требований 4, 5 и 6 прочтите мою статью Введение в Selenium с Python 3 на Linuxhint.com.





Вы можете найти множество статей по другим темам на LinuxHint.com . Обязательно ознакомьтесь с ними, если вам понадобится помощь.

Настройка каталога проекта:

Чтобы все было организовано, создайте новый каталог проекта селен-url / следующее:



$mkdir -pvselenium-url/водители

Перейдите к селен-url / каталог проекта следующим образом:

$CDselenium-url/

Создайте виртуальную среду Python в каталоге проекта следующим образом:

$virtualenv .venv

Активируйте виртуальную среду следующим образом:

$источник.venv/являюсь/активировать

Установите библиотеку Selenium Python в свою виртуальную среду с помощью PIP3 следующим образом:

$ pip3 установить селен

Загрузите и установите все необходимые веб-драйверы в драйверы / каталог проекта. Я объяснил процесс загрузки и установки веб-драйверов в своей статье. Введение в Selenium с Python 3 . Если вам нужна помощь, ищите на LinuxHint.com для этой статьи.

Я буду использовать веб-браузер Google Chrome для демонстрации в этой статье. Итак, я буду использовать хромированная отвертка бинарный с Selenium. Вы должны использовать водитель геккона двоичный файл, если вы хотите использовать веб-браузер Firefox.

Создайте скрипт Python ex01.py в каталоге вашего проекта и введите в нем следующие строки кодов.

изселенИмпортироватьwebdriver
изселен.webdriver.общий.ключи ИмпортироватьКлючи
параметрызнак равноwebdriver.ChromeOptions()
параметры.Обезглавленный знак равно Правда
браузерзнак равноwebdriver.Хром(исполняемый_путьзнак равно'./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 Свойство используется для доступа к текущему URL-адресу браузера.

Строка 12 закрывает браузер.

Запустите скрипт Python ex01.py следующее:

$ python3 ex01.ру

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

В предыдущем примере я посетил веб-сайт duckduckgo.com и напечатал текущий URL-адрес на консоли. Это возвращает URL-адрес страницы, которую мы посещаем. Не очень интересно, поскольку мы уже знаем URL страницы. Теперь давайте поищем что-нибудь на DuckDuckGo и попробуем напечатать URL-адрес страницы результатов поиска на консоли.

Создайте скрипт Python ex02.py в каталоге вашего проекта и введите в нем следующие строки кодов.

изселенИмпортироватьwebdriver
изселен.webdriver.общий.ключи ИмпортироватьКлючи
параметрызнак равноwebdriver.ChromeOptions()
параметры.Обезглавленный знак равно Правда
браузерзнак равноwebdriver.Хром(исполняемый_путьзнак равно'./drivers/chromedriver',параметрызнак равнопараметры)
браузер.получать('https://duckduckgo.com/')
Распечатать(браузер.current_url)
searchInputзнак равнобраузер.find_element_by_id('search_form_input_homepage')
searchInput.send_keys('селен HQ'+ Ключи.ВХОДИТЬ)
Распечатать(браузер.current_url)
браузер.близко()

Как только вы закончите, сохраните ex02.py Скрипт Python.

Здесь строки 1-10 такие же, как в ex01.py . Так что я не буду их снова объяснять.

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

Строка 13 отправляет поисковый запрос. селен hq в searchInput текстовое поле и нажимает ключ с помощью Keys.ENTER .

Как только страница поиска загрузится, browser.current_url используется для доступа к обновленному текущему URL.

Строка 15 печатает обновленный текущий URL-адрес на консоли.

Строка 17 закрывает браузер.

Запустить ex02.py Скрипт Python следующим образом:

$ python3 ex02.ру

Как видите, скрипт Python ex02.py печатает 2 URL-адреса.

Первый - это URL-адрес домашней страницы поисковой системы DuckDuckGo.

Второй - это обновленный текущий URL-адрес после выполнения поиска в поисковой системе DuckDuckGo с использованием запроса селен hq .

Заключение:

В этой статье я показал вам, как получить текущий URL-адрес веб-браузера с помощью библиотеки Selenium Python. Теперь вы сможете сделать свои проекты на Selenium более интересными.