diff --git a/examples/raw_bing_captcha.py b/examples/raw_bing_captcha.py index 232c75e38c1..962bec73be9 100644 --- a/examples/raw_bing_captcha.py +++ b/examples/raw_bing_captcha.py @@ -2,5 +2,7 @@ with SB(uc=True, test=True) as sb: url = "https://www.bing.com/turing/captcha/challenge" - sb.uc_open_with_reconnect(url, 4) + sb.activate_cdp_mode(url) + sb.sleep(1) sb.uc_gui_click_captcha() + sb.sleep(1) diff --git a/mkdocs_build/requirements.txt b/mkdocs_build/requirements.txt index 364594b18c4..cc6148b3bae 100644 --- a/mkdocs_build/requirements.txt +++ b/mkdocs_build/requirements.txt @@ -3,7 +3,7 @@ regex>=2024.11.6 pymdown-extensions>=10.16 -pipdeptree>=2.26.1 +pipdeptree>=2.27.0 python-dateutil>=2.8.2 Markdown==3.8.2 click==8.2.1 diff --git a/seleniumbase/__version__.py b/seleniumbase/__version__.py index 4df8325c17c..4c091e96fb4 100755 --- a/seleniumbase/__version__.py +++ b/seleniumbase/__version__.py @@ -1,2 +1,2 @@ # seleniumbase package -__version__ = "4.40.4" +__version__ = "4.40.5" diff --git a/seleniumbase/core/browser_launcher.py b/seleniumbase/core/browser_launcher.py index e5c9f601ee1..7621e8b2146 100644 --- a/seleniumbase/core/browser_launcher.py +++ b/seleniumbase/core/browser_launcher.py @@ -1377,9 +1377,9 @@ def _uc_gui_click_captcha( ): frame = '[data-testid*="challenge-"] div' elif driver.is_element_present( - "form.turnstile div#turnstile-widget div:not([class])" + "div#turnstile-widget div:not([class])" ): - frame = "form.turnstile #turnstile-widget div:not([class])" + frame = "div#turnstile-widget div:not([class])" elif driver.is_element_present( 'form div:not([class]):has(input[name*="cf-turn"])' ): @@ -1667,7 +1667,6 @@ def _uc_gui_handle_captcha_(driver, frame="iframe", ctype=None): driver.set_window_rect(win_x, win_y, width, height) time.sleep(0.33) tab_up_first = False - special_form = False if ctype == "cf_t": if ( driver.is_element_present(".cf-turnstile-wrapper iframe") @@ -1701,7 +1700,6 @@ def _uc_gui_handle_captcha_(driver, frame="iframe", ctype=None): ): frame = 'form div:not([class]):has(input[name*="cf-turn"])' tab_up_first = True - special_form = True elif ( driver.is_element_present('[src*="/turnstile/"]') and driver.is_element_present("form div:not(:has(*))") @@ -1715,6 +1713,10 @@ def _uc_gui_handle_captcha_(driver, frame="iframe", ctype=None): ) ): frame = "body > div#check > div:not([class])" + elif driver.is_element_present( + "div#turnstile-widget div:not([class])" + ): + frame = "div#turnstile-widget div:not([class])" elif driver.is_element_present(".cf-turnstile-wrapper"): frame = ".cf-turnstile-wrapper" elif driver.is_element_present('[class="cf-turnstile"]'): @@ -1759,8 +1761,7 @@ def _uc_gui_handle_captcha_(driver, frame="iframe", ctype=None): active_element_css = js_utils.get_active_element_css(driver) if ( active_element_css.startswith(selector) - or active_element_css.endswith(" > div" * 2) - or (special_form and active_element_css.endswith(" div")) + or active_element_css.endswith(" div") or (ctype == "g_rc" and "frame[name" in active_element_css) ): found_checkbox = True
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: