Skip to content

Eventfiring addon

eventfiring_addon

module providing event firing and listening - additional functionalities compared to sample implementation

AbstractEventListenerExtended(events_include_list: list[str] = [], events_exclude_list: list[str] = [], events_generic_list: list[str] = [])

AbstractEventListenerExtended - extended abstract base class AbstractEventListener for event listener

Extensions

  • filter mechanism for events to be captured (or not)
  • utilities for event handlers
  • additional events
  • infrastructure for handling generic events
Source code in src/utils_seleniumxp/eventfiring_addon.py
def __init__(
    self,
    events_include_list: list[str] = [],
    events_exclude_list: list[str] = [],
    events_generic_list: list[str] = []
):

    self.events_include: list[str] = events_include_list
    self.events_exclude: list[str] = events_exclude_list
    self.events_generic: list[str] = events_generic_list

events_exclude: list[str] = events_exclude_list instance-attribute property writable

events_generic: list[str] = events_generic_list instance-attribute property writable

events_include: list[str] = events_include_list instance-attribute property writable

after_alerthandler(mode: str, driver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def after_alerthandler(self, mode: str, driver) -> None:
    pass

after_closepopuphandler(mode: str, driver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def after_closepopuphandler(self, mode: str, driver) -> None:
    pass

after_cookiemanager(mode: str, cookiekey: str, driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def after_cookiemanager(self, mode: str, cookiekey: str, driver: _WebDriver) -> None:
    pass

after_refresh(driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def after_refresh(self, driver: _WebDriver) -> None:
    pass

after_request(method: str, url: str, driver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def after_request(self, method: str, url: str, driver) -> None:
    pass

after_start_session(driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def after_start_session(self, driver: _WebDriver) -> None:
    pass

after_submit(element, driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def after_submit(self, element, driver: _WebDriver) -> None:
    pass

after_switch_to(objtyp, value: Any, driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def after_switch_to(self, objtyp, value: Any, driver: _WebDriver) -> None:
    pass

before_alerthandler(mode: str, driver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def before_alerthandler(self, mode: str, driver) -> None:
    pass

before_closepopuphandler(mode: str, driver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def before_closepopuphandler(self, mode: str, driver) -> None:
    pass

before_cookiemanager(mode: str, cookiekey: str, driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def before_cookiemanager(self, mode: str, cookiekey: str, driver: _WebDriver) -> None:
    pass

before_refresh(driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def before_refresh(self, driver: _WebDriver) -> None:
    pass

before_request(method: str, url: str, driver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def before_request(self, method: str, url: str, driver) -> None:
    pass

before_start_session(driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def before_start_session(self, driver: _WebDriver) -> None:
    pass

before_submit(element, driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def before_submit(self, element, driver: _WebDriver) -> None:
    pass

before_switch_to(objtyp, value: Any, driver: _WebDriver) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def before_switch_to(self, objtyp, value: Any, driver: _WebDriver) -> None:
    pass

checkevent(event_name: str) -> bool

Source code in src/utils_seleniumxp/eventfiring_addon.py
def checkevent(self, event_name: str) -> bool:
    return (
        (event_name in self._events_include or self._events_include == []) and
        (event_name not in self._events_exclude)
    )

checkgeneric(event_name: str) -> bool

Source code in src/utils_seleniumxp/eventfiring_addon.py
def checkgeneric(self, event_name: str) -> bool:
    return event_name in self._events_generic

generic_listener(event_name: str, *args, **kwargs)

Source code in src/utils_seleniumxp/eventfiring_addon.py
def generic_listener(self, event_name: str, *args, **kwargs):
    pass

generic_listener_name()

Source code in src/utils_seleniumxp/eventfiring_addon.py
def generic_listener_name(self):
    return self.generic_listener.__name__

EventFiringAlert(alert: _Alert, ef_driver: EventFiringWebDriverExtended)

Source code in src/utils_seleniumxp/eventfiring_addon.py
def __init__(self, alert: _Alert, ef_driver: EventFiringWebDriverExtended):
    self._alert = alert
    self._ef_driver = ef_driver
    self._driver = ef_driver.wrapped_driver
    self._listener = ef_driver._listener
    self._dispatcherobject = self._alert
    self._wrapperobject = self._ef_driver

wrapped_element: _Alert property

__getattr__(name: str) -> Any

Source code in src/utils_seleniumxp/eventfiring_addon.py
def __getattr__(self, name: str) -> Any:
    return _getattr(self, name)

accept() -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def accept(self) -> None:
    self._dispatch("alerthandler", ("accept", self._driver), "accept", ())

dismiss() -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def dismiss(self) -> None:
    self._dispatch("alerthandler", ("dismiss", self._driver), "dismiss", ())

send_keys(keysToSend: str) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def send_keys(self, keysToSend: str) -> None:
    self._dispatch("alerthandler", (f"sendkeys '{keysToSend}'", self._driver), "send_keys", (keysToSend,))

EventFiringSwitchTo(switch_to: _SwitchTo, ef_driver: EventFiringWebDriverExtended)

Source code in src/utils_seleniumxp/eventfiring_addon.py
def __init__(self, switch_to: _SwitchTo, ef_driver: EventFiringWebDriverExtended):
    self._switch_to = switch_to
    self._ef_driver = ef_driver
    self._driver = ef_driver.wrapped_driver
    self._listener = ef_driver._listener
    self._dispatcherobject = self._switch_to
    self._wrapperobject = self._ef_driver

wrapped_element: _SwitchTo property

__getattr__(name: str) -> Any

Source code in src/utils_seleniumxp/eventfiring_addon.py
def __getattr__(self, name: str) -> Any:
    return _getattr(self, name)

active_element() -> Any

Source code in src/utils_seleniumxp/eventfiring_addon.py
def active_element(self) -> Any:
    return self._dispatch(None, (), "active_element", ())

alert() -> Any

Source code in src/utils_seleniumxp/eventfiring_addon.py
def alert(self) -> Any:
    return self._dispatch(None, (), "alert", ())

default_content() -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def default_content(self) -> None:
    self._dispatch("switch_to", ("default", "", self._driver), "default_content", ())

frame(frame_reference: Any) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def frame(self, frame_reference: Any) -> None:
    self._dispatch("switch_to", ("frame", frame_reference, self._driver), "frame", (frame_reference))

new_window(type_hint: str) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def new_window(self, type_hint: str) -> None:
    self._dispatch("switch_to", ("new_window", type_hint, self._driver), "frame", (type_hint,))

parent_frame() -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def parent_frame(self) -> None:
    self._dispatch("switch_to", ("parent_frame", "", self._driver), "parent_frame", ())

window(window_name: str)

Source code in src/utils_seleniumxp/eventfiring_addon.py
def window(self, window_name: str):
    self._dispatch("switch_to", ("window", window_name, self._driver), "window", (window_name,))

EventFiringWebDriverExtended(webdriver: _WebDriver, eventlistener: AbstractEventListener)

EventFiringWebDriverExtended - extended EventFiringWebDriver class

Source code in src/utils_seleniumxp/eventfiring_addon.py
def __init__(self, webdriver: _WebDriver, eventlistener: AbstractEventListener):
    super().__init__(webdriver, eventlistener)
    self._switch_to = EventFiringSwitchTo(super().wrapped_driver._switch_to, self)
    self._dispatcherobject = self._driver
    self._wrapperobject = self

__getattr__(name: str) -> Any

Source code in src/utils_seleniumxp/eventfiring_addon.py
def __getattr__(self, name: str) -> Any:
    # generic call of event listener (if listener object has implemented the interface)
    # watch out for necessity of wrapping the call to match Callable as __getattr__ return type
    # but NOT return type of method d_call
    if hasattr(self._listener, f"before_{name}") and hasattr(self._listener, f"after_{name}"):
        # generic call - listener provides listening method not registered separately in event-firing
        # webdriver class
        return _getattr_dispatch_generic(self, name, (self._driver,), name)
    else:
        if hasattr(self._listener, "checkgeneric") and hasattr(self._listener, "generic_listener_name"):
            if self._listener.checkgeneric(name):
                return _getattr_dispatch_generic(self, None, (self._driver,), name)
        return _getattr(self, name)
Source code in src/utils_seleniumxp/eventfiring_addon.py
def add_cookie(self, cookie_dict: dict[str, Any]) -> None:
    self._dispatch("cookiemanager", ("add", cookie_dict, self._driver), "add_cookie", (cookie_dict,))

delete_all_cookies() -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def delete_all_cookies(self) -> None:
    self._dispatch("cookiemanager", ("delete", "all", self._driver), "delete_all_cookies", ())
Source code in src/utils_seleniumxp/eventfiring_addon.py
def delete_cookie(self, name: str) -> None:
    self._dispatch("cookiemanager", ("delete", name, self._driver), "delete_cookies", (name,))
Source code in src/utils_seleniumxp/eventfiring_addon.py
def get_cookie(self, name: str) -> dict[str, Any]:
    return self._dispatch("cookiemanager", ("get", name, self._driver), "get_cookie", (name,))

get_cookies() -> list[dict[str, Any]]

Source code in src/utils_seleniumxp/eventfiring_addon.py
def get_cookies(self) -> list[dict[str, Any]]:
    return self._dispatch("cookiemanager", ("get", "all", self._driver), "get_cookies", ())

refresh() -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def refresh(self) -> None:
    self._dispatch("refresh", (self._driver,), "refresh", ())

request(method: str, url: str, **kwargs) -> Any

Source code in src/utils_seleniumxp/eventfiring_addon.py
def request(self, method: str, url: str, **kwargs) -> Any:
    return self._dispatch("request", (method, url, self._driver), "request", (method, url, *kwargs))

start_session(capabilities: dict[str, Any], browser_profile: Any = None) -> None

Source code in src/utils_seleniumxp/eventfiring_addon.py
def start_session(self, capabilities: dict[str, Any], browser_profile: Any = None) -> None:
    self._dispatch("start_session", (self._driver,), "start_session", (capabilities, browser_profile))

EventFiringWebElementExtended(*args, **kwargs)

Source code in src/utils_seleniumxp/eventfiring_addon.py
def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self._dispatcherobject = self._webelement
    self._wrapperobject = self._ef_driver

__getattr__(name: str) -> Any

Source code in src/utils_seleniumxp/eventfiring_addon.py
def __getattr__(self, name: str) -> Any:
    return _getattr(self, name)

submit() -> Any

Source code in src/utils_seleniumxp/eventfiring_addon.py
def submit(self) -> Any:
    self._dispatch("submit", (self._webelement, self._driver), "submit", ())