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/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