Skip to content

Commit 71e8852

Browse files
committed
Move add_listener to remote.network
1 parent 21bc2a2 commit 71e8852

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

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

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -214,13 +214,6 @@ async def add_intercept(self, event, params: AddInterceptParameters):
214214
result = await self.conn.execute(AddIntercept(params).cmd())
215215
return result
216216

217-
async def add_listener(self, event, callback):
218-
listener = self.conn.listen(event)
219-
220-
async for event in listener:
221-
request_data = BeforeRequestSentParameters.from_json(event.to_json()["params"])
222-
await callback(request_data)
223-
224217
async def continue_request(self, params: ContinueRequestParameters):
225218
result = await self.conn.execute(ContinueRequest(params).cmd())
226219
return result

py/selenium/webdriver/remote/network.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,11 @@ def __init__(self, driver):
3535
self.driver = driver
3636
self.intercept = None
3737
self.scope = None
38+
self.conn = None
3839

3940
async def add_request_handler(self, request_filter=lambda _: True, handler=default_request_handler, conn=None):
41+
if not self.conn:
42+
self.conn = conn
4043
with trio.CancelScope() as scope:
4144
self.scope = scope
4245
self.network = network.Network(conn)
@@ -45,9 +48,17 @@ async def add_request_handler(self, request_filter=lambda _: True, handler=defau
4548
result = await self.network.add_intercept(event=BeforeRequestSent, params=params)
4649
intercept = result["intercept"]
4750
self.intercept = intercept
48-
await self.network.add_listener(event=BeforeRequestSent, callback=callback)
51+
await self.add_listener(event=BeforeRequestSent, callback=callback)
4952
return intercept
5053

54+
async def add_listener(self, event, callback):
55+
listener = self.conn.listen(event)
56+
57+
async for event in listener:
58+
request_data = BeforeRequestSentParameters.from_json(event.to_json()["params"])
59+
if request_data.isBlocked:
60+
await callback(request_data)
61+
5162
async def get(self, url, conn):
5263
params = NavigateParameters(context=self.driver.current_window_handle, url=url, wait="complete")
5364
await conn.execute(Navigate(params).cmd())

0 commit comments

Comments
 (0)