File tree Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,32 @@ def _get_browser_and_page(self) -> tuple[Browser, Page]:
18
18
args = launch_args ,
19
19
env = {"DISPLAY" : ":0" }
20
20
)
21
- page = browser .new_page ()
21
+
22
+ context = browser .new_context ()
23
+
24
+ # Add event listeners for page creation and closure
25
+ context .on ("page" , self ._handle_new_page )
26
+
27
+ page = context .new_page ()
22
28
page .set_viewport_size ({"width" : width , "height" : height })
29
+ page .on ("close" , self ._handle_page_close )
30
+
23
31
page .goto ("https://bing.com" )
32
+
24
33
return browser , page
34
+
35
+ def _handle_new_page (self , page : Page ):
36
+ """Handle the creation of a new page."""
37
+ print ("New page created" )
38
+ self ._page = page
39
+ page .on ("close" , self ._handle_page_close )
40
+
41
+ def _handle_page_close (self , page : Page ):
42
+ """Handle the closure of a page."""
43
+ print ("Page closed" )
44
+ if self ._page == page :
45
+ if self ._browser .contexts [0 ].pages :
46
+ self ._page = self ._browser .contexts [0 ].pages [- 1 ]
47
+ else :
48
+ print ("Warning: All pages have been closed." )
49
+ self ._page = None
You can’t perform that action at this time.
0 commit comments