From 0e316114245299bf40e06508724b911d86c66496 Mon Sep 17 00:00:00 2001 From: Michael Mintz Date: Tue, 11 Nov 2025 11:20:24 -0500 Subject: [PATCH 1/2] Update CDP Mode --- seleniumbase/core/browser_launcher.py | 3 +++ seleniumbase/fixtures/base_case.py | 3 ++- seleniumbase/fixtures/page_actions.py | 22 ++++++++++++++++++++++ seleniumbase/plugins/driver_manager.py | 5 ++++- 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/seleniumbase/core/browser_launcher.py b/seleniumbase/core/browser_launcher.py index bef9d0c2abf..011e01e6443 100644 --- a/seleniumbase/core/browser_launcher.py +++ b/seleniumbase/core/browser_launcher.py @@ -300,7 +300,9 @@ def extend_driver( if not use_uc and os.path.exists(os.path.realpath(ext_dir)): with suppress(Exception): driver.webextension.install(os.path.realpath(ext_dir)) + driver._is_using_auth = False if proxy_auth: + driver._is_using_auth = True if not use_uc and os.path.exists(proxy_helper.PROXY_DIR_PATH): with suppress(Exception): driver.webextension.install(proxy_helper.PROXY_DIR_PATH) @@ -5786,6 +5788,7 @@ def get_local_driver( ) driver.default_get = driver.get # Save copy of original driver.cdp = None # Set a placeholder + driver._is_using_uc = False driver._is_using_cdp = False driver._is_connected = True if uc_activated: diff --git a/seleniumbase/fixtures/base_case.py b/seleniumbase/fixtures/base_case.py index 4f6cbc36df2..5e7dbaf8f70 100644 --- a/seleniumbase/fixtures/base_case.py +++ b/seleniumbase/fixtures/base_case.py @@ -230,7 +230,8 @@ def open(self, url): elif ( hasattr(self.driver, "_is_using_uc") and self.driver._is_using_uc - and "@" in self.proxy_string + and hasattr(self.driver, "_is_using_auth") + and self.driver._is_using_auth and ( not hasattr(self.driver, "_is_using_cdp") or not self.driver._is_using_cdp diff --git a/seleniumbase/fixtures/page_actions.py b/seleniumbase/fixtures/page_actions.py index ac8a358c277..8fde34859eb 100644 --- a/seleniumbase/fixtures/page_actions.py +++ b/seleniumbase/fixtures/page_actions.py @@ -1756,6 +1756,28 @@ def open_url(driver, url): if __is_cdp_swap_needed(driver): driver.cdp.open(url) return + elif ( + hasattr(driver, "_is_using_uc") + and driver._is_using_uc + and hasattr(driver, "_is_using_auth") + and driver._is_using_auth + and ( + not hasattr(driver, "_is_using_cdp") + or not driver._is_using_cdp + ) + ): + # Auth in UC Mode requires CDP Mode + driver.uc_activate_cdp_mode(url) + return + elif ( + hasattr(driver, "_is_using_uc") + and driver._is_using_uc + and hasattr(driver, "_is_using_cdp") + and driver._is_using_cdp + ): + driver.disconnect() + driver.cdp.open(url) + return url = str(url).strip() # Remove leading and trailing whitespace if not page_utils.looks_like_a_page_url(url): if page_utils.is_valid_url("https://" + url): diff --git a/seleniumbase/plugins/driver_manager.py b/seleniumbase/plugins/driver_manager.py index 9624766c4d9..fc1cb99781e 100644 --- a/seleniumbase/plugins/driver_manager.py +++ b/seleniumbase/plugins/driver_manager.py @@ -742,7 +742,10 @@ def Driver( uc_cdp_events = True else: uc_cdp_events = False - if undetectable and browser != "chrome": + if ( + undetectable + and browser not in ["chrome", "opera", "brave", "comet", "atlas"] + ): message = ( '\n Undetected-Chromedriver Mode ONLY supports Chrome!' '\n ("uc=True" / "undetectable=True" / "--uc")' From ec754379073dcca10bebb5655313dba18843a1a5 Mon Sep 17 00:00:00 2001 From: Michael Mintz Date: Tue, 11 Nov 2025 11:20:39 -0500 Subject: [PATCH 2/2] Version 4.44.10 --- seleniumbase/__version__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seleniumbase/__version__.py b/seleniumbase/__version__.py index 1e7ca9b0568..f1a80658ee7 100755 --- a/seleniumbase/__version__.py +++ b/seleniumbase/__version__.py @@ -1,2 +1,2 @@ # seleniumbase package -__version__ = "4.44.9" +__version__ = "4.44.10"