@@ -41,7 +41,7 @@ class EventFiringWebDriver:
41
41
A wrapper around an arbitrary WebDriver instance which supports firing events
42
42
"""
43
43
44
-
def __init__(self, driver, event_listener) -> None:
44
+
def __init__(self, driver: WebDriver, event_listener: AbstractEventListener) -> None:
45
45
"""
46
46
Creates a new instance of the EventFiringWebDriver
47
47
@@ -75,17 +75,17 @@ def after_navigate_to(self, url, driver):
75
75
self._listener = event_listener
76
76
77
77
@property
78
-
def wrapped_driver(self):
78
+
def wrapped_driver(self) -> WebDriver:
79
79
"""Returns the WebDriver instance wrapped by this EventsFiringWebDriver"""
80
80
return self._driver
81
81
82
-
def get(self, url):
83
-
self._dispatch("navigate_to", (url, self._driver), "get", (url, ))
82
+
def get(self, url: str) -> None:
83
+
self._dispatch("navigate_to", (url, self._driver), "get", (url,))
84
84
85
-
def back(self):
85
+
def back(self) -> None:
86
86
self._dispatch("navigate_back", (self._driver,), "back", ())
87
87
88
-
def forward(self):
88
+
def forward(self) -> None:
89
89
self._dispatch("navigate_forward", (self._driver,), "forward", ())
90
90
91
91
def execute_script(self, script, *args):
@@ -96,10 +96,10 @@ def execute_async_script(self, script, *args):
96
96
unwrapped_args = (script,) + self._unwrap_element_args(args)
97
97
return self._dispatch("execute_script", (script, self._driver), "execute_async_script", unwrapped_args)
98
98
99
-
def close(self):
99
+
def close(self) -> None:
100
100
self._dispatch("close", (self._driver,), "close", ())
101
101
102
-
def quit(self):
102
+
def quit(self) -> None:
103
103
self._dispatch("quit", (self._driver,), "quit", ())
104
104
105
105
def find_element(self, by=By.ID, value=None) -> WebElement:
@@ -108,7 +108,11 @@ def find_element(self, by=By.ID, value=None) -> WebElement:
108
108
def find_elements(self, by=By.ID, value=None) -> typing.List[WebElement]:
109
109
return self._dispatch("find", (by, value, self._driver), "find_elements", (by, value))
110
110
111
-
def _dispatch(self, l_call, l_args, d_call, d_args):
111
+
def _dispatch(self,
112
+
l_call: str,
113
+
l_args: typing.Tuple[typing.Any, ...],
114
+
d_call: str,
115
+
d_args: typing.Tuple[typing.Any, ...]):
112
116
getattr(self._listener, f"before_{l_call}")(*l_args)
113
117
try:
114
118
result = getattr(self._driver, d_call)(*d_args)
@@ -165,7 +169,7 @@ class EventFiringWebElement:
165
169
A wrapper around WebElement instance which supports firing events
166
170
"""
167
171
168
-
def __init__(self, webelement, ef_driver) -> None:
172
+
def __init__(self, webelement: WebElement, ef_driver: EventFiringWebDriver) -> None:
169
173
"""
170
174
Creates a new instance of the EventFiringWebElement
171
175
"""
@@ -175,17 +179,17 @@ def __init__(self, webelement, ef_driver) -> None:
175
179
self._listener = ef_driver._listener
176
180
177
181
@property
178
-
def wrapped_element(self):
182
+
def wrapped_element(self) -> WebElement:
179
183
"""Returns the WebElement wrapped by this EventFiringWebElement instance"""
180
184
return self._webelement
181
185
182
-
def click(self):
186
+
def click(self) -> None:
183
187
self._dispatch("click", (self._webelement, self._driver), "click", ())
184
188
185
-
def clear(self):
189
+
def clear(self) -> None:
186
190
self._dispatch("change_value_of", (self._webelement, self._driver), "clear", ())
187
191
188
-
def send_keys(self, *value):
192
+
def send_keys(self, *value) -> None:
189
193
self._dispatch("change_value_of", (self._webelement, self._driver), "send_keys", value)
190
194
191
195
def find_element(self, by=By.ID, value=None) -> WebElement:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4