Skip to content

Commit a06d90d

Browse files
authored
Merge pull request #3977 from seleniumbase/cdp-mode-patch-56
CDP Mode: Patch 56
2 parents ce5bd0f + b4ff091 commit a06d90d

File tree

5 files changed

+25
-13
lines changed

5 files changed

+25
-13
lines changed

examples/cdp_mode/raw_cdp_gitlab.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from seleniumbase import sb_cdp
22

33
url = "https://gitlab.com/users/sign_in"
4-
sb = sb_cdp.Chrome(url)
5-
sb.sleep(2.5)
4+
sb = sb_cdp.Chrome(url, incognito=True)
5+
sb.sleep(2.2)
66
sb.gui_click_captcha()
77
sb.highlight('h1:contains("GitLab.com")')
88
sb.highlight('button:contains("Sign in")')

examples/cdp_mode/raw_cf_clearance.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
from seleniumbase import sb_cdp
22

3+
4+
def get_cf_clearance_cookie(sb):
5+
all_cookies = sb.get_all_cookies()
6+
for cookie in all_cookies:
7+
if cookie.name == "cf_clearance":
8+
return cookie
9+
return None
10+
11+
312
url = "https://gitlab.com/users/sign_in"
4-
sb = sb_cdp.Chrome(url)
5-
sb.sleep(2.2)
6-
sb.gui_click_captcha()
7-
sb.sleep(2)
8-
cf_cookie = None
9-
all_cookies = sb.get_all_cookies()
10-
for cookie in all_cookies:
11-
if cookie.name == 'cf_clearance':
12-
cf_cookie = cookie
13-
break
13+
sb = sb_cdp.Chrome(url, incognito=True)
14+
sb.sleep(2.2) # Wait for CAPTCHA to load
15+
sb.gui_click_captcha() # (Only if found)
16+
sb.sleep(2.2) # Wait for CAPTCHA success
17+
cf_cookie = get_cf_clearance_cookie(sb)
1418
if cf_cookie:
1519
print("cf_clearance cookie: %s" % cf_cookie.value)
1620
else:

seleniumbase/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# seleniumbase package
2-
__version__ = "4.41.7"
2+
__version__ = "4.41.8"

seleniumbase/core/browser_launcher.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1227,6 +1227,7 @@ def _on_a_cf_turnstile_page(driver):
12271227
'data-callback="onCaptchaSuccess"' in source
12281228
or "/challenge-platform/scripts/" in source
12291229
or 'id="challenge-widget-' in source
1230+
or "challenges.cloudf" in source
12301231
or "cf-turnstile-" in source
12311232
):
12321233
return True

seleniumbase/core/sb_cdp.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1661,11 +1661,16 @@ def gui_click_element(self, selector, timeframe=0.25):
16611661
self.loop.run_until_complete(self.page.wait())
16621662

16631663
def _on_a_cf_turnstile_page(self):
1664+
time.sleep(0.042)
16641665
source = self.get_page_source()
1666+
if not source or len(source) < 400:
1667+
time.sleep(0.22)
1668+
source = self.get_page_source()
16651669
if (
16661670
'data-callback="onCaptchaSuccess"' in source
16671671
or "/challenge-platform/scripts/" in source
16681672
or 'id="challenge-widget-' in source
1673+
or "challenges.cloudf" in source
16691674
or "cf-turnstile-" in source
16701675
):
16711676
return True
@@ -1795,6 +1800,7 @@ def gui_click_captcha(self):
17951800
self.loop.run_until_complete(self.page.evaluate(script))
17961801
self.loop.run_until_complete(self.page.wait())
17971802
with suppress(Exception):
1803+
time.sleep(0.08)
17981804
element_rect = self.get_gui_element_rect(selector, timeout=1)
17991805
e_x = element_rect["x"]
18001806
e_y = element_rect["y"]
@@ -1804,6 +1810,7 @@ def gui_click_captcha(self):
18041810
else:
18051811
y = e_y + 22
18061812
sb_config._saved_cf_x_y = (x, y)
1813+
time.sleep(0.08)
18071814
self.gui_click_x_y(x, y)
18081815

18091816
def __gui_drag_drop(self, x1, y1, x2, y2, timeframe=0.25, uc_lock=False):

0 commit comments

Comments
 (0)