File tree Expand file tree Collapse file tree 2 files changed +22
-12
lines changed
async_api/_core/_managers Expand file tree Collapse file tree 2 files changed +22
-12
lines changed Original file line number Diff line number Diff line change @@ -40,17 +40,22 @@ async def get_active_page(self) -> AsyncPage:
4040 async def _page_on_close_handler (self , page : PlaywrightPage ):
4141 if self .browser_context and not self .dendrite_browser .closed :
4242 copy_pages = self .pages .copy ()
43+ is_active_page = False
4344 for dendrite_page in copy_pages :
4445 if dendrite_page .playwright_page == page :
4546 self .pages .remove (dendrite_page )
47+ if dendrite_page == self .active_page :
48+ is_active_page = True
4649 break
4750
48- if self .pages :
49- self .active_page = self .pages [- 1 ]
50- await self .active_page .playwright_page .bring_to_front ()
51- logger .debug ("Switched the active tab to: " , self .active_page .url )
52- else :
53- pass
51+ for i in reversed (range (len (self .pages ))):
52+ try :
53+ self .active_page = self .pages [i ]
54+ await self .pages [i ].playwright_page .bring_to_front ()
55+ break
56+ except Exception as e :
57+ logger .warning (f"Error switching to the next page: { e } " )
58+ continue
5459
5560 async def _page_on_crash_handler (self , page : PlaywrightPage ):
5661 logger .error (f"Page crashed: { page .url } " )
Original file line number Diff line number Diff line change @@ -35,16 +35,21 @@ def get_active_page(self) -> Page:
3535 def _page_on_close_handler (self , page : PlaywrightPage ):
3636 if self .browser_context and (not self .dendrite_browser .closed ):
3737 copy_pages = self .pages .copy ()
38+ is_active_page = False
3839 for dendrite_page in copy_pages :
3940 if dendrite_page .playwright_page == page :
4041 self .pages .remove (dendrite_page )
42+ if dendrite_page == self .active_page :
43+ is_active_page = True
4144 break
42- if self .pages :
43- self .active_page = self .pages [- 1 ]
44- self .active_page .playwright_page .bring_to_front ()
45- logger .debug ("Switched the active tab to: " , self .active_page .url )
46- else :
47- pass
45+ for i in reversed (range (len (self .pages ))):
46+ try :
47+ self .active_page = self .pages [i ]
48+ self .pages [i ].playwright_page .bring_to_front ()
49+ break
50+ except Exception as e :
51+ logger .warning (f"Error switching to the next page: { e } " )
52+ continue
4853
4954 def _page_on_crash_handler (self , page : PlaywrightPage ):
5055 logger .error (f"Page crashed: { page .url } " )
You can’t perform that action at this time.
0 commit comments