From 0dafd8b1d5c7e5f9ca629b81239ac1f276e248d6 Mon Sep 17 00:00:00 2001 From: Michael Mintz Date: Tue, 17 Jun 2025 17:35:45 -0400 Subject: [PATCH 1/3] Add `sb.cdp.reset_permissions()` --- examples/cdp_mode/ReadMe.md | 1 + seleniumbase/core/browser_launcher.py | 1 + seleniumbase/core/sb_cdp.py | 7 +++++++ seleniumbase/undetected/cdp_driver/browser.py | 4 ++++ 4 files changed, 13 insertions(+) diff --git a/examples/cdp_mode/ReadMe.md b/examples/cdp_mode/ReadMe.md index 4af84e09a6d..ae054e45a00 100644 --- a/examples/cdp_mode/ReadMe.md +++ b/examples/cdp_mode/ReadMe.md @@ -386,6 +386,7 @@ sb.cdp.get_navigation_history() sb.cdp.tile_windows(windows=None, max_columns=0) sb.cdp.grant_permissions(permissions, origin=None) sb.cdp.grant_all_permissions() +sb.cdp.reset_permissions() sb.cdp.get_all_cookies(*args, **kwargs) sb.cdp.set_all_cookies(*args, **kwargs) sb.cdp.save_cookies(*args, **kwargs) diff --git a/seleniumbase/core/browser_launcher.py b/seleniumbase/core/browser_launcher.py index 7944341963a..3a9c7c6c28f 100644 --- a/seleniumbase/core/browser_launcher.py +++ b/seleniumbase/core/browser_launcher.py @@ -682,6 +682,7 @@ def uc_open_with_cdp_mode(driver, url=None, **kwargs): cdp.tile_windows = CDPM.tile_windows cdp.grant_permissions = CDPM.grant_permissions cdp.grant_all_permissions = CDPM.grant_all_permissions + cdp.reset_permissions = CDPM.reset_permissions cdp.get_all_cookies = CDPM.get_all_cookies cdp.set_all_cookies = CDPM.set_all_cookies cdp.save_cookies = CDPM.save_cookies diff --git a/seleniumbase/core/sb_cdp.py b/seleniumbase/core/sb_cdp.py index ce028bbb071..50dc7651d35 100644 --- a/seleniumbase/core/sb_cdp.py +++ b/seleniumbase/core/sb_cdp.py @@ -662,6 +662,13 @@ def grant_all_permissions(self): driver = driver.cdp_base return self.loop.run_until_complete(driver.grant_all_permissions()) + def reset_permissions(self): + """Reset permissions for all origins on the current window.""" + driver = self.driver + if hasattr(driver, "cdp_base"): + driver = driver.cdp_base + return self.loop.run_until_complete(driver.reset_permissions()) + def get_all_cookies(self, *args, **kwargs): driver = self.driver if hasattr(driver, "cdp_base"): diff --git a/seleniumbase/undetected/cdp_driver/browser.py b/seleniumbase/undetected/cdp_driver/browser.py index 56c941f2909..3de12bdf71e 100644 --- a/seleniumbase/undetected/cdp_driver/browser.py +++ b/seleniumbase/undetected/cdp_driver/browser.py @@ -571,6 +571,10 @@ async def grant_all_permissions(self): ] await self.connection.send(cdp.browser.grant_permissions(permissions)) + async def reset_permissions(self): + """Reset permissions for all origins on the current window.""" + await self.connection.send(cdp.browser.reset_permissions()) + async def tile_windows(self, windows=None, max_columns: int = 0): import math try: From f50480788a6dbcd26794deb6fb7663b3ffa2b0f2 Mon Sep 17 00:00:00 2001 From: Michael Mintz Date: Tue, 17 Jun 2025 17:40:47 -0400 Subject: [PATCH 2/3] Refresh Python dependencies --- requirements.txt | 4 ++-- setup.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/requirements.txt b/requirements.txt index 23d80e7e755..889c540252f 100755 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ setuptools~=70.2;python_version<"3.10" setuptools>=80.9.0;python_version>="3.10" wheel>=0.45.1 attrs>=25.3.0 -certifi>=2025.4.26 +certifi>=2025.6.15 exceptiongroup>=1.3.0 websockets~=13.1;python_version<"3.9" websockets>=15.0.1;python_version>="3.9" @@ -77,7 +77,7 @@ rich>=14.0.0,<15 # ("pip install -r requirements.txt" also installs this, but "pip install -e ." won't.) coverage>=7.6.1;python_version<"3.9" -coverage>=7.9.0;python_version>="3.9" +coverage>=7.9.1;python_version>="3.9" pytest-cov>=5.0.0;python_version<"3.9" pytest-cov>=6.2.1;python_version>="3.9" flake8==5.0.4;python_version<"3.9" diff --git a/setup.py b/setup.py index 3e2c14187a4..254bfcbe957 100755 --- a/setup.py +++ b/setup.py @@ -153,7 +153,7 @@ 'setuptools>=80.9.0;python_version>="3.10"', 'wheel>=0.45.1', 'attrs>=25.3.0', - "certifi>=2025.4.26", + "certifi>=2025.6.15", "exceptiongroup>=1.3.0", 'websockets~=13.1;python_version<"3.9"', 'websockets>=15.0.1;python_version>="3.9"', @@ -234,7 +234,7 @@ # Usage: coverage run -m pytest; coverage html; coverage report "coverage": [ 'coverage>=7.6.1;python_version<"3.9"', - 'coverage>=7.9.0;python_version>="3.9"', + 'coverage>=7.9.1;python_version>="3.9"', 'pytest-cov>=5.0.0;python_version<"3.9"', 'pytest-cov>=6.2.1;python_version>="3.9"', ], From 829439555021b8c20cb91c3f792f2cb1ff4568cb Mon Sep 17 00:00:00 2001 From: Michael Mintz Date: Tue, 17 Jun 2025 17:41:07 -0400 Subject: [PATCH 3/3] Version 4.39.5 --- seleniumbase/__version__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seleniumbase/__version__.py b/seleniumbase/__version__.py index 68bbaad9ea7..a3b2bab9812 100755 --- a/seleniumbase/__version__.py +++ b/seleniumbase/__version__.py @@ -1,2 +1,2 @@ # seleniumbase package -__version__ = "4.39.4" +__version__ = "4.39.5"