@@ -725,7 +725,7 @@ def _on_a_cf_turnstile_page(driver):
725725 source = driver .get_page_source ()
726726 if (
727727 'data-callback="onCaptchaSuccess"' in source
728- or "cf-turnstile-wrapper " in source
728+ or "cf-turnstile-" in source
729729 ):
730730 return True
731731 return False
@@ -802,6 +802,17 @@ def _uc_gui_click_captcha(
802802 else :
803803 visible_iframe = False
804804 if (
805+ frame != "iframe"
806+ and driver .is_element_present ('[name*="cf-turnstile-"]' )
807+ and driver .is_element_present ("%s div[style]" % frame )
808+ ):
809+ frame = "%s div[style]" % frame
810+ elif (
811+ driver .is_element_present ('[name*="cf-turnstile-"]' )
812+ and driver .is_element_present ("div.spacer div[style]" )
813+ ):
814+ frame = "div.spacer div[style]"
815+ elif (
805816 frame != "iframe"
806817 and driver .is_element_present (
807818 "%s .cf-turnstile-wrapper" % frame
@@ -981,6 +992,11 @@ def uc_gui_handle_cf(driver, frame="iframe"):
981992 '[data-callback="onCaptchaSuccess"]'
982993 ):
983994 frame = '[data-callback="onCaptchaSuccess"]'
995+ elif (
996+ driver .is_element_present ('[name*="cf-turnstile-"]' )
997+ and driver .is_element_present ("div.spacer div[style]" )
998+ ):
999+ frame = "div.spacer div[style]"
9841000 else :
9851001 return
9861002 if not is_in_frame or needs_switch :
@@ -1000,7 +1016,10 @@ def uc_gui_handle_cf(driver, frame="iframe"):
10001016 pyautogui .press ("\t " )
10011017 time .sleep (0.02 )
10021018 active_element_css = js_utils .get_active_element_css (driver )
1003- if active_element_css == "div.cf-turnstile-wrapper" :
1019+ if (
1020+ active_element_css == "div.cf-turnstile-wrapper"
1021+ or active_element_css .startswith ("div#PYMIw2" )
1022+ ):
10041023 found_checkbox = True
10051024 break
10061025 time .sleep (0.02 )
0 commit comments