11from  dataclasses  import  fields 
22
33from  selenium .webdriver .common .bidi  import  network 
4- from  selenium .webdriver .common .bidi .cdp  import  open_cdp 
54from  selenium .webdriver .common .bidi .network  import  (
65    AddInterceptParameters ,
76    BeforeRequestSent ,
@@ -15,20 +14,20 @@ def default_request_handler(params: BeforeRequestSentParameters):
1514
1615
1716class  Network :
18-     def  __init__ (self , ws_url ):
19-         self .ws_url  =  ws_url 
17+     def  __init__ (self , driver ):
2018        self .network  =  None 
21- 
22-     async  def  add_request_handler (self , request_filter = lambda  _ : True , handler = default_request_handler ):
23-         async  with  open_cdp (self .ws_url ) as  conn :
24-             if  not  self .network :
25-                 self .network  =  network .Network (conn )
26-             params  =  AddInterceptParameters (["beforeRequestSent" ])
27-             result  =  await  self .network .add_intercept (event = BeforeRequestSent , params = params )
28-             intercept  =  result ["intercept" ]
29-             callback  =  self ._callback (request_filter , handler )
30-             await  self .network .add_listener (BeforeRequestSent , callback )
31-             return  intercept 
19+         self .driver  =  driver 
20+         self .intercept  =  None 
21+ 
22+     async  def  add_request_handler (self , request_filter = lambda  _ : True , handler = default_request_handler , conn = None ):
23+         self .network  =  network .Network (conn )
24+         params  =  AddInterceptParameters (["beforeRequestSent" ])
25+         callback  =  self ._callback (request_filter , handler )
26+         result  =  await  self .network .add_intercept (event = BeforeRequestSent , params = params )
27+         intercept  =  result ["intercept" ]
28+         self .intercept  =  intercept 
29+         await  self .network .add_listener (event = BeforeRequestSent , callback = callback )
30+         return  intercept 
3231
3332    def  _callback (self , request_filter , handler ):
3433        async  def  callback (request ):
0 commit comments