Skip to content

Commit 2040014

Browse files
committed
Fix a memory leak in CDP Mode
1 parent 238ad3d commit 2040014

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

seleniumbase/plugins/sb_manager.py

+6
Original file line numberDiff line numberDiff line change
@@ -1367,6 +1367,12 @@ def SB(
13671367
"%s%s%s%s%s"
13681368
% (c1, left_space, end_text, right_space, cr)
13691369
)
1370+
if hasattr(sb_config, "_cdp_aclose"):
1371+
import asyncio
1372+
with suppress(Exception):
1373+
loop = asyncio.get_event_loop()
1374+
asyncio.set_event_loop(loop)
1375+
loop.run_until_complete(sb_config._cdp_aclose())
13701376
gc.collect()
13711377
if test and test_name and not test_passed and raise_test_failure:
13721378
raise exception

seleniumbase/undetected/cdp_driver/connection.py

+3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
)
2020
import websockets
2121
from websockets.protocol import State
22+
from seleniumbase import config as sb_config
2223
from . import cdp_util as util
2324
import mycdp as cdp
2425
import mycdp.network
@@ -270,6 +271,7 @@ async def aopen(self, **kw):
270271
max_size=MAX_SIZE,
271272
)
272273
self.listener = Listener(self)
274+
sb_config._cdp_aclose = self.aclose
273275
except (Exception,) as e:
274276
logger.debug("Exception during opening of websocket: %s", e)
275277
if self.listener:
@@ -415,6 +417,7 @@ async def send(
415417
if not _is_update:
416418
await self._register_handlers()
417419
await self.websocket.send(tx.message)
420+
sb_config._cdp_aclose = self.aclose
418421
try:
419422
return await tx
420423
except ProtocolException as e:

0 commit comments

Comments
 (0)