@@ -1369,14 +1369,23 @@ def SB(
13691369 "%s%s%s%s%s"
13701370 % (c1 , left_space , end_text , right_space , cr )
13711371 )
1372- if undetectable and hasattr (sb , "_drivers_browser_map" ):
1372+ python3_12_or_newer = (sys .version_info >= (3 , 12 ))
1373+ if undetectable :
13731374 import asyncio
1374- for driver in sb ._drivers_browser_map .keys ():
1375- if hasattr (driver , "cdp" ) and driver .cdp :
1376- asyncio .set_event_loop (driver .cdp .loop )
1377- tasks = [tab .aclose () for tab in driver .cdp .get_tabs ()]
1378- tasks .append (driver .cdp .driver .connection .aclose ())
1379- driver .cdp .loop .run_until_complete (asyncio .gather (* tasks ))
1375+ if not python3_12_or_newer and hasattr (sb_config , "_cdp_aclose" ):
1376+ with suppress (Exception ):
1377+ loop = asyncio .get_event_loop ()
1378+ asyncio .set_event_loop (loop )
1379+ loop .run_until_complete (sb_config ._cdp_aclose ())
1380+ if python3_12_or_newer and hasattr (sb , "_drivers_browser_map" ):
1381+ for driver in sb ._drivers_browser_map .keys ():
1382+ if hasattr (driver , "cdp" ) and driver .cdp :
1383+ asyncio .set_event_loop (driver .cdp .loop )
1384+ tasks = [tab .aclose () for tab in driver .cdp .get_tabs ()]
1385+ tasks .append (driver .cdp .driver .connection .aclose ())
1386+ driver .cdp .loop .run_until_complete (
1387+ asyncio .gather (* tasks )
1388+ )
13801389 driver .cdp .loop .close ()
13811390 gc .collect ()
13821391 if test and test_name and not test_passed and raise_test_failure :
0 commit comments