Skip to content

Commit 901dd04

Browse files
committed
made changes to websocket_connection.py, added fail_request()
1 parent a0a8790 commit 901dd04

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

py/selenium/webdriver/common/bidi/network.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,15 @@ def command_builder(self, method, params):
280280
command = {"method": method, "params": params}
281281
cmd = yield command
282282
return cmd
283+
284+
def fail_request(self):
285+
"""Fail this request."""
286+
287+
if not self.request_id:
288+
raise ValueError("Request not found.")
289+
290+
params = {"request": self.request_id}
291+
self.network.conn.execute(self.command_builder("network.failRequest", params))
283292

284293
def continue_request(self, body=None, method=None, headers=None, cookies=None, url=None):
285294
"""Continue after intercepting this request."""

py/selenium/webdriver/remote/websocket_connection.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,9 @@ def execute(self, command):
6060
logger.debug(f"-> {data}"[: self._max_log_message_size])
6161
self._ws.send(data)
6262

63-
self._wait_until(lambda: self._id in self._messages)
64-
response = self._messages.pop(self._id)
63+
current_id = self._id
64+
self._wait_until(lambda: current_id in self._messages)
65+
response = self._messages.pop(current_id)
6566

6667
if "error" in response:
6768
raise Exception(response["error"])
@@ -131,7 +132,7 @@ def _process_message(self, message):
131132
if "method" in message:
132133
params = message["params"]
133134
for callback in self.callbacks.get(message["method"], []):
134-
callback(params)
135+
Thread(target=callback, args=(params,)).start()
135136

136137
def _wait_until(self, condition):
137138
timeout = self._response_wait_timeout

0 commit comments

Comments
 (0)