Skip to content

Commit b339c5c

Browse files
committed
Update CDP Mode
1 parent 11a834a commit b339c5c

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

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)