Skip to content

Commit 645b126

Browse files
authored
Merge pull request #2963 from seleniumbase/update-uc-mode-captcha-bypass
Update UC Mode CAPTCHA-bypass
2 parents 4007c95 + 7a0cff9 commit 645b126

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

seleniumbase/__version__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# seleniumbase package
2-
__version__ = "4.29.1"
2+
__version__ = "4.29.2"

seleniumbase/core/browser_launcher.py

+21-2
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)