@@ -81,8 +81,8 @@ def __init__(self,
8181 debug : bool = False ,
8282 remote_webrender_url : Optional [str ] = None ,
8383 remote_only : bool = False ,
84- export_logs = False ,
85- logs_path = None ,
84+ export_logs = False ,
85+ logs_path = None ,
8686 name : str = None ):
8787 """
8888 :param debug: If True, the browser will run on non-headless mode, the page will not be closed after the screenshot is taken.
@@ -93,11 +93,12 @@ def __init__(self,
9393 self .remote_webrender_url += "/"
9494 self .remote_only = remote_only
9595 self .export_logs = export_logs
96- if export_logs :
96+ if export_logs :
9797 if logs_path :
9898 self .logs_path = Path (logs_path )
9999 else :
100- self .logs_path = (Path (__file__ ).parent .parent .parent / "logs" ).resolve ()
100+ self .logs_path = (
101+ Path (__file__ ).parent .parent .parent / "logs" ).resolve ()
101102 if name :
102103 self .name = name
103104
@@ -213,7 +214,8 @@ async def select_element_and_screenshot(self,
213214 page : Page ,
214215 start_time : float ,
215216 count_time = True ,
216- output_type : Literal ["png" , "jpeg" ] = "jpeg" ,
217+ output_type : Literal ["png" ,
218+ "jpeg" ] = "jpeg" ,
217219 output_quality : int = 90 ):
218220 el , selected_ = await self .select_element (elements , page )
219221 if not el :
@@ -340,3 +342,18 @@ async def source(self, options: SourceOptions):
340342 return await _source .inner_text ()
341343
342344 return _source
345+
346+ @webrender_fallback
347+ async def status (self ):
348+ pages_open = 0
349+ for context in self .browser .browser .contexts :
350+ pages_open += len (context .pages )
351+ return {
352+ "browser_initialized" : self .browser .browser is not None ,
353+ "debug_mode" : self .debug ,
354+ "remote_only" : self .remote_only ,
355+ "export_logs" : self .export_logs ,
356+ "logs_path" : str (self .logs_path ) if self .logs_path else None ,
357+ "name" : self .name ,
358+ "pages_open" : pages_open ,
359+ }
0 commit comments