Настройка событий
В предыдущем посте мы рассмотрели, как передать параметры экземпляру Selenium WebDriver, чтобы установить различные настройки для браузера.
EventFiringWebDriver
— это оболочка для экземпляра WebDriver, которая поддерживает запуск событий.
Вы можете использовать это для выполнения некоторых действий до или после определенных событий, таких как поиск элемента, переход по URL-адресу, щелчок по элементу или выход из браузера.
Он принимает driver и event_listener в качестве аргументов. event_listener — это экземпляр класса, который является подклассом класса AbstractEventListener
.
Следующие методы класса AbstractEventListener
должны быть реализованы полностью или частично.
* before_navigate_to(self, url, driver) * after_navigate_to(self, url, driver) * before_navigate_back(self, driver) * after_navigate_back(self, driver) * before_navigate_forward(self, driver) * after_navigate_forward(self, driver) * before_find(self, by, value, driver) * after_find(self, by, value, driver) * before_click(self, element, driver) * after_click(self, element, driver) * before_change_value_of(self, element, driver) * after_change_value_of(self, element, driver) * before_execute_script(self, script, driver) * after_execute_script(self, script, driver) * before_close(self, driver) * after_close(self, driver) * before_quit(self, driver) * after_quit(self, driver) * on_exception(self, exception, driver)
Следующий пример реализует методы before_navigate_to
, after_navigate_to
, before_find
, after_find
, before_quit
и after_quit
для печати пользовательских сообщений с этими событиями.
# output Before navigating to https://www.pythondoctor.com/ Current url before navigating to https://www.pythondoctor.com/ is 'about:blank' Page title before navigating to https://www.pythondoctor.com/ is '' After navigating to https://www.pythondoctor.com/ Current url after navigating to https://www.pythondoctor.com/ is 'https://www.pythondoctor.com/' Page title after navigating to https://www.pythondoctor.com/ is 'Python Doctor' Searching for element with 'id=id_questioner' on https://www.pythondoctor.com/ Found element with 'id=id_questioner' on https://www.pythondoctor.com/ Quitting the browser with url: https://www.pythondoctor.com/ Bye ... Quit the browser. Have a nice day :)
То, что нужно запомнить
EventFiringWebDriver
— это оболочка для экземпляра WebDriver, которая поддерживает запуск событий для выполнения некоторых действий до или после определенных событий.- Он принимает driver и event_listener в качестве аргументов. event_listener – это экземпляр класса, который является подклассом класса
AbstractEventListener
.
В следующем посте мы рассмотрим, как выполнить код JavaScript на странице с помощью Selenium.
Спасибо за уделенное время.