@@ -1288,6 +1288,13 @@ def _uc_gui_click_captcha(
1288
1288
and driver .is_element_present ("form div:not(:has(*))" )
1289
1289
):
1290
1290
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])"
1291
1298
elif driver .is_element_present (".cf-turnstile-wrapper" ):
1292
1299
frame = ".cf-turnstile-wrapper"
1293
1300
elif driver .is_element_present (
@@ -1319,15 +1326,36 @@ def _uc_gui_click_captcha(
1319
1326
driver .cdp .evaluate (script )
1320
1327
else :
1321
1328
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 )
1322
1350
elif (
1323
1351
driver .is_element_present ("form" )
1324
1352
and driver .is_element_present (
1325
- " form.turnstile # turnstile-widget > div:not([class])"
1353
+ ' form [id*=" turnstile"] > div:not([class])'
1326
1354
)
1327
1355
):
1328
1356
script = (
1329
1357
"""var $elements = document.querySelectorAll(
1330
- 'form.turnstile # turnstile-widget ');
1358
+ 'form [id*=" turnstile"] ');
1331
1359
var index = 0, length = $elements.length;
1332
1360
for(; index < length; index++){
1333
1361
$elements[index].setAttribute('align', 'left');}"""
@@ -1577,6 +1605,13 @@ def _uc_gui_handle_captcha_(driver, frame="iframe", ctype=None):
1577
1605
):
1578
1606
frame = "form div:not(:has(*))"
1579
1607
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])"
1580
1615
else :
1581
1616
return
1582
1617
else :
0 commit comments