@@ -1288,6 +1288,13 @@ def _uc_gui_click_captcha(
12881288 and driver .is_element_present ("form div:not(:has(*))" )
12891289 ):
12901290 frame = "form div:not(:has(*))"
1291+ elif (
1292+ driver .is_element_present ('[src*="/turnstile/"]' )
1293+ and driver .is_element_present (
1294+ "body > div#check > div:not([class])"
1295+ )
1296+ ):
1297+ frame = "body > div#check > div:not([class])"
12911298 elif driver .is_element_present (".cf-turnstile-wrapper" ):
12921299 frame = ".cf-turnstile-wrapper"
12931300 elif driver .is_element_present (
@@ -1319,15 +1326,36 @@ def _uc_gui_click_captcha(
13191326 driver .cdp .evaluate (script )
13201327 else :
13211328 driver .execute_script (script )
1329+ elif (
1330+ driver .is_element_present ("form" )
1331+ and (
1332+ driver .is_element_present ('form div[style*="center"]' )
1333+ or driver .is_element_present ('form div[style*="right"]' )
1334+ )
1335+ ):
1336+ script = (
1337+ """var $elements = document.querySelectorAll(
1338+ 'form[style], form div[style]');
1339+ var index = 0, length = $elements.length;
1340+ for(; index < length; index++){
1341+ the_style = $elements[index].getAttribute('style');
1342+ new_style = the_style.replaceAll('center', 'left');
1343+ new_style = new_style.replaceAll('right', 'left');
1344+ $elements[index].setAttribute('style', new_style);}"""
1345+ )
1346+ if __is_cdp_swap_needed (driver ):
1347+ driver .cdp .evaluate (script )
1348+ else :
1349+ driver .execute_script (script )
13221350 elif (
13231351 driver .is_element_present ("form" )
13241352 and driver .is_element_present (
1325- " form.turnstile # turnstile-widget > div:not([class])"
1353+ ' form [id*=" turnstile"] > div:not([class])'
13261354 )
13271355 ):
13281356 script = (
13291357 """var $elements = document.querySelectorAll(
1330- 'form.turnstile # turnstile-widget ');
1358+ 'form [id*=" turnstile"] ');
13311359 var index = 0, length = $elements.length;
13321360 for(; index < length; index++){
13331361 $elements[index].setAttribute('align', 'left');}"""
@@ -1577,6 +1605,13 @@ def _uc_gui_handle_captcha_(driver, frame="iframe", ctype=None):
15771605 ):
15781606 frame = "form div:not(:has(*))"
15791607 tab_up_first = True
1608+ elif (
1609+ driver .is_element_present ('[src*="/turnstile/"]' )
1610+ and driver .is_element_present (
1611+ "body > div#check > div:not([class])"
1612+ )
1613+ ):
1614+ frame = "body > div#check > div:not([class])"
15801615 else :
15811616 return
15821617 else :
0 commit comments