Есть ли способ для веб-драйвера автоматически обнаруживать, что URL-адрес браузера изменился? - PullRequest
0 голосов
/ 01 сентября 2018

У меня есть каркас, построенный из селена. Я пытаюсь добавить дополнительные функции к нему. Для этого мне нужно выполнять какой-то фрагмент кода каждый раз, когда изменяется URL-адрес - возможно, из-за нажатия кнопки / ссылки, навигации () или get (). Теперь я знаю о WebDriverEventListener, который помогает мне переопределить поведение get () и navigate (), но у меня нет прямого способа определить изменение URL при нажатии кнопки или ссылки. Доступно ли что-то из этого, сообщающее коду, что URL-адрес изменился?

1 Ответ

0 голосов
/ 01 сентября 2018

Вот пример в Python, использующий WebdriverWait и expected_conditions:

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 

url = 'https://example/before'
changed_url = 'https://example/after'

driver = webdriver.Chrome()
driver.get(url)

# wait up to 10 secs for the url to change or else `TimeOutException` is raised.
WebDriverWait(driver, 10).until(EC.url_changes(changed_url))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...