From ef7bdc896f9ad1b2d5c38ad540858c488a56fa3e Mon Sep 17 00:00:00 2001 From: Michael Mintz Date: Wed, 13 Aug 2025 23:57:18 -0400 Subject: [PATCH 1/4] Update examples --- examples/cdp_mode/raw_cdp_methods.py | 1 + examples/cdp_mode/raw_pokemon.py | 18 ++++++------------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/examples/cdp_mode/raw_cdp_methods.py b/examples/cdp_mode/raw_cdp_methods.py index 4d5c0cdf184..a503edaebd9 100644 --- a/examples/cdp_mode/raw_cdp_methods.py +++ b/examples/cdp_mode/raw_cdp_methods.py @@ -14,3 +14,4 @@ sb.gui_drag_and_drop("img#logo", "div#drop2") sb.nested_click("iframe#myFrame3", ".fBox") sb.sleep(2) +sb.driver.stop() diff --git a/examples/cdp_mode/raw_pokemon.py b/examples/cdp_mode/raw_pokemon.py index f52d2f97724..b8b4829b6e6 100644 --- a/examples/cdp_mode/raw_pokemon.py +++ b/examples/cdp_mode/raw_pokemon.py @@ -30,18 +30,12 @@ sb.sleep(2) sb.cdp.highlight_overlay("div.pokemon-ability-info") sb.sleep(2) - sb.cdp.click('a[href="https://www.pokemon.com/us/play-pokemon/"]') - sb.sleep(0.6) - sb.cdp.click('h3:contains("Find an Event")') - location = "Concord, MA, USA" - sb.cdp.type('input[data-testid="location-search"]', location) - sb.sleep(1.5) - sb.cdp.click("div.autocomplete-dropdown-container div.suggestion-item") - sb.sleep(0.6) - sb.cdp.click('img[alt="search-icon"]') - sb.sleep(2) - events = sb.cdp.select_all('div[data-testid="event-name"]') - print("*** Pokemon events near %s: ***" % location) + sb.cdp.open("https://events.pokemon.com/EventLocator/") + sb.sleep(3) + sb.cdp.click('button span:contains("Premier Events")') + sb.sleep(1) + events = sb.cdp.select_all('div[class="event-info"]') + print("*** Upcoming Premier Events for Pokémon: ***") for event in events: print("* " + event.text) sb.sleep(2) From 1718717675913be456f1c9cf0db6ad5ccdc8813a Mon Sep 17 00:00:00 2001 From: Michael Mintz Date: Thu, 14 Aug 2025 00:13:58 -0400 Subject: [PATCH 2/4] Refresh Python dependencies --- requirements.txt | 13 +++++++------ setup.py | 15 ++++++++------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/requirements.txt b/requirements.txt index b0e6e9ed471..81aa48a3c6b 100755 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ websockets~=13.1;python_version<"3.9" websockets>=15.0.1;python_version>="3.9" filelock~=3.16.1;python_version<"3.9" filelock>=3.18.0;python_version>="3.9" -fasteners>=0.19 +fasteners>=0.20 mycdp>=1.2.0 pynose>=1.5.4 platformdirs>=4.3.6;python_version<"3.9" @@ -23,7 +23,7 @@ MarkupSafe>=3.0.2;python_version>="3.9" Jinja2>=3.1.6 six>=1.17.0 parse>=1.20.2 -parse-type>=0.6.4 +parse-type>=0.6.6 colorama>=0.4.6 pyyaml>=6.0.2 pygments>=2.19.2 @@ -32,7 +32,7 @@ tabcompleter>=1.4.0 pdbp>=1.7.1 idna==3.10 chardet==5.2.0 -charset-normalizer>=3.4.2,<4 +charset-normalizer>=3.4.3,<4 urllib3>=1.26.20,<2;python_version<"3.10" urllib3>=1.26.20,<2.6.0;python_version>="3.10" requests==2.32.4 @@ -46,7 +46,7 @@ wsproto==1.2.0 websocket-client==1.8.0 selenium==4.27.1;python_version<"3.9" selenium==4.32.0;python_version>="3.9" and python_version<"3.10" -selenium==4.34.2;python_version>="3.10" +selenium==4.35.0;python_version>="3.10" cssselect==1.2.0;python_version<"3.9" cssselect==1.3.0;python_version>="3.9" sortedcontainers==2.4.0 @@ -69,7 +69,8 @@ soupsieve==2.7 beautifulsoup4==4.13.4 pyotp==2.9.0 python-xlib==0.33;platform_system=="Linux" -markdown-it-py==3.0.0 +markdown-it-py==3.0.0;python_version<"3.10" +markdown-it-py==4.0.0;python_version>="3.10" mdurl==0.1.2 rich>=14.1.0,<15 @@ -77,7 +78,7 @@ rich>=14.1.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.10.2;python_version>="3.9" +coverage>=7.10.3;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 f6a63ffebdf..47c75ef6315 100755 --- a/setup.py +++ b/setup.py @@ -159,7 +159,7 @@ 'websockets>=15.0.1;python_version>="3.9"', 'filelock~=3.16.1;python_version<"3.9"', 'filelock>=3.18.0;python_version>="3.9"', - 'fasteners>=0.19', + 'fasteners>=0.20', "mycdp>=1.2.0", "pynose>=1.5.4", 'platformdirs>=4.3.6;python_version<"3.9"', @@ -171,7 +171,7 @@ "Jinja2>=3.1.6", "six>=1.17.0", 'parse>=1.20.2', - 'parse-type>=0.6.4', + 'parse-type>=0.6.6', 'colorama>=0.4.6', 'pyyaml>=6.0.2', 'pygments>=2.19.2', @@ -180,7 +180,7 @@ "pdbp>=1.7.1", "idna==3.10", 'chardet==5.2.0', - 'charset-normalizer>=3.4.2,<4', + 'charset-normalizer>=3.4.3,<4', 'urllib3>=1.26.20,<2;python_version<"3.10"', 'urllib3>=1.26.20,<2.6.0;python_version>="3.10"', 'requests==2.32.4', @@ -194,7 +194,7 @@ 'websocket-client==1.8.0', 'selenium==4.27.1;python_version<"3.9"', 'selenium==4.32.0;python_version>="3.9" and python_version<"3.10"', - 'selenium==4.34.2;python_version>="3.10"', + 'selenium==4.35.0;python_version>="3.10"', 'cssselect==1.2.0;python_version<"3.9"', 'cssselect==1.3.0;python_version>="3.9"', "sortedcontainers==2.4.0", @@ -217,7 +217,8 @@ "beautifulsoup4==4.13.4", 'pyotp==2.9.0', 'python-xlib==0.33;platform_system=="Linux"', - 'markdown-it-py==3.0.0', + 'markdown-it-py==3.0.0;python_version<"3.10"', + 'markdown-it-py==4.0.0;python_version>="3.10"', 'mdurl==0.1.2', 'rich>=14.1.0,<15', ], @@ -234,7 +235,7 @@ # Usage: coverage run -m pytest; coverage html; coverage report "coverage": [ 'coverage>=7.6.1;python_version<"3.9"', - 'coverage>=7.10.2;python_version>="3.9"', + 'coverage>=7.10.3;python_version>="3.9"', 'pytest-cov>=5.0.0;python_version<"3.9"', 'pytest-cov>=6.2.1;python_version>="3.9"', ], @@ -267,7 +268,7 @@ 'pdfminer.six==20250324;python_version<"3.9"', 'pdfminer.six==20250506;python_version>="3.9"', 'cryptography==39.0.2;python_version<"3.9"', - 'cryptography==45.0.5;python_version>="3.9"', + 'cryptography==45.0.6;python_version>="3.9"', 'cffi==1.17.1', "pycparser==2.22", ], From ce22815194237848114706ba480c02d329d1bf0a Mon Sep 17 00:00:00 2001 From: Michael Mintz Date: Thu, 14 Aug 2025 00:14:35 -0400 Subject: [PATCH 3/4] Do some refactoring --- seleniumbase/core/browser_launcher.py | 4 ++-- seleniumbase/core/sb_cdp.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/seleniumbase/core/browser_launcher.py b/seleniumbase/core/browser_launcher.py index 3e6fb456b86..cb4da86c0e8 100644 --- a/seleniumbase/core/browser_launcher.py +++ b/seleniumbase/core/browser_launcher.py @@ -285,9 +285,9 @@ def extend_driver( if proxy_auth: # Proxy needs a moment to load in Manifest V3 if use_uc: - time.sleep(0.12) + time.sleep(0.14) else: - time.sleep(0.22) + time.sleep(0.28) return driver diff --git a/seleniumbase/core/sb_cdp.py b/seleniumbase/core/sb_cdp.py index f16d2e26f77..d42cf67ba4c 100644 --- a/seleniumbase/core/sb_cdp.py +++ b/seleniumbase/core/sb_cdp.py @@ -1695,9 +1695,9 @@ def gui_drag_drop_points(self, x1, y1, x2, y2, timeframe=0.35): self.set_window_rect(win_x, win_y, width, height) self.__add_light_pause() x1 = x1 * width_ratio - y1 = y1 * width_ratio + y1 = y1 * (width_ratio - 0.02) x2 = x2 * width_ratio - y2 = y2 * width_ratio + y2 = y2 * (width_ratio - 0.02) self.bring_active_window_to_front() self.__gui_drag_drop( x1, y1, x2, y2, timeframe=timeframe, uc_lock=False From 412761f53e496784e5ebb3abeda5748ae66e26f0 Mon Sep 17 00:00:00 2001 From: Michael Mintz Date: Thu, 14 Aug 2025 00:14:51 -0400 Subject: [PATCH 4/4] Version 4.41.0 --- seleniumbase/__version__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/seleniumbase/__version__.py b/seleniumbase/__version__.py index 5db606f160d..60d149b2257 100755 --- a/seleniumbase/__version__.py +++ b/seleniumbase/__version__.py @@ -1,2 +1,2 @@ # seleniumbase package -__version__ = "4.40.8" +__version__ = "4.41.0"