Skip to content

Commit 0034475

Browse files
authored
Merge pull request #3998 from seleniumbase/cdp-mode-patch-60
CDP Mode: Patch 60
2 parents 11a834a + 5408a05 commit 0034475

File tree

8 files changed

+34
-2
lines changed

8 files changed

+34
-2
lines changed

examples/cdp_mode/ReadMe.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ with SB(uc=True, test=True) as sb:
7575
sb.activate_cdp_mode(url)
7676
sb.sleep(2)
7777
sb.cdp.gui_click_element("#turnstile-widget div")
78+
sb.wait_for_element_absent("input[disabled]")
7879
sb.sleep(2)
7980
```
8081

examples/cdp_mode/raw_driver.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@
77
driver.uc_activate_cdp_mode(url)
88
driver.sleep(1)
99
driver.uc_gui_click_captcha()
10+
driver.wait_for_element_absent("input[disabled]")
1011
driver.sleep(2)

examples/cdp_mode/raw_planetmc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
sb.activate_cdp_mode(url)
66
sb.sleep(2)
77
sb.uc_gui_click_captcha()
8+
sb.wait_for_element_absent("input[disabled]")
89
sb.sleep(2)

help_docs/syntax_formats.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -896,7 +896,8 @@ with SB(uc=True, test=True) as sb:
896896
url = "www.planetminecraft.com/account/sign_in/"
897897
sb.activate_cdp_mode(url)
898898
sb.sleep(2)
899-
sb.cdp.gui_click_element("#turnstile-widget div")
899+
sb.uc_gui_click_captcha()
900+
sb.wait_for_element_absent("input[disabled]")
900901
sb.sleep(2)
901902
```
902903

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.11"
2+
__version__ = "4.41.12"

seleniumbase/core/browser_launcher.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,8 @@ def extend_driver(
228228
driver.wait_for_element = DM.wait_for_element
229229
driver.wait_for_element_visible = DM.wait_for_element_visible
230230
driver.wait_for_element_present = DM.wait_for_element_present
231+
driver.wait_for_element_absent = DM.wait_for_element_absent
232+
driver.wait_for_element_not_visible = DM.wait_for_element_not_visible
231233
driver.wait_for_selector = DM.wait_for_selector
232234
driver.wait_for_text = DM.wait_for_text
233235
driver.wait_for_exact_text = DM.wait_for_exact_text

seleniumbase/core/sb_driver.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,16 @@ def wait_for_element_visible(self, *args, **kwargs):
137137
def wait_for_element_present(self, *args, **kwargs):
138138
return page_actions.wait_for_selector(self.driver, *args, **kwargs)
139139

140+
def wait_for_element_absent(self, *args, **kwargs):
141+
return page_actions.wait_for_element_absent(
142+
self.driver, *args, **kwargs
143+
)
144+
145+
def wait_for_element_not_visible(self, *args, **kwargs):
146+
return page_actions.wait_for_element_not_visible(
147+
self.driver, *args, **kwargs
148+
)
149+
140150
def wait_for_selector(self, *args, **kwargs):
141151
return page_actions.wait_for_selector(self.driver, *args, **kwargs)
142152

seleniumbase/fixtures/page_actions.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,6 +1108,14 @@ def wait_for_element_absent(
11081108
timeout - the time to wait for elements in seconds
11091109
original_selector - handle pre-converted ":contains(TEXT)" selector
11101110
"""
1111+
if __is_cdp_swap_needed(driver):
1112+
if page_utils.is_valid_by(by):
1113+
original_selector = selector
1114+
elif page_utils.is_valid_by(selector):
1115+
original_selector = by
1116+
selector, by = page_utils.recalculate_selector(original_selector, by)
1117+
driver.cdp.wait_for_element_absent(selector)
1118+
return True
11111119
_reconnect_if_disconnected(driver)
11121120
start_ms = time.time() * 1000.0
11131121
stop_ms = start_ms + (timeout * 1000.0)
@@ -1156,6 +1164,14 @@ def wait_for_element_not_visible(
11561164
timeout - the time to wait for the element in seconds
11571165
original_selector - handle pre-converted ":contains(TEXT)" selector
11581166
"""
1167+
if __is_cdp_swap_needed(driver):
1168+
if page_utils.is_valid_by(by):
1169+
original_selector = selector
1170+
elif page_utils.is_valid_by(selector):
1171+
original_selector = by
1172+
selector, by = page_utils.recalculate_selector(original_selector, by)
1173+
driver.cdp.wait_for_element_not_visible(selector)
1174+
return True
11591175
_reconnect_if_disconnected(driver)
11601176
start_ms = time.time() * 1000.0
11611177
stop_ms = start_ms + (timeout * 1000.0)

0 commit comments

Comments
 (0)