diff --git a/seleniumbase/core/browser_launcher.py b/seleniumbase/core/browser_launcher.py index 689b5b2f..117fdc62 100644 --- a/seleniumbase/core/browser_launcher.py +++ b/seleniumbase/core/browser_launcher.py @@ -749,6 +749,7 @@ def uc_open_with_cdp_mode(driver, url=None): core_items.browser = cdp.browser core_items.tab = cdp.tab core_items.util = cdp.util + cdp._swap_driver = CDPM._swap_driver cdp.core = core_items cdp.loop = cdp.get_event_loop() driver.cdp = cdp diff --git a/seleniumbase/core/sb_cdp.py b/seleniumbase/core/sb_cdp.py index f35b1a3b..403011e8 100644 --- a/seleniumbase/core/sb_cdp.py +++ b/seleniumbase/core/sb_cdp.py @@ -19,6 +19,11 @@ class CDPMethods(): self.page = page self.driver = driver + def _swap_driver(self, driver): + self.driver = driver + self.page = driver.cdp.page + self.loop = driver.cdp.loop + def __slow_mode_pause_if_set(self): if ( (hasattr(sb_config, "demo_mode") and sb_config.demo_mode) diff --git a/seleniumbase/fixtures/base_case.py b/seleniumbase/fixtures/base_case.py index 81696196..8856ba57 100644 --- a/seleniumbase/fixtures/base_case.py +++ b/seleniumbase/fixtures/base_case.py @@ -4358,6 +4358,8 @@ class BaseCase(unittest.TestCase): self.driver = driver if self.driver in self._drivers_browser_map: self.browser = self._drivers_browser_map[self.driver] + if self.__is_cdp_swap_needed(): + self.cdp._swap_driver(self.driver) self.bring_active_window_to_front() def switch_to_default_driver(self): @@ -4366,6 +4368,8 @@ class BaseCase(unittest.TestCase): self.driver = self._default_driver if self.driver in self._drivers_browser_map: self.browser = self._drivers_browser_map[self.driver] + if self.__is_cdp_swap_needed(): + self.cdp._swap_driver(self.driver) self.bring_active_window_to_front() def save_screenshot(