Skip to content

Commit 7937f7e

Browse files
authored
Merge pull request #4298 from seleniumbase/cdp-mode-patch-101
CDP Mode: Patch 101
2 parents 3c9e4c0 + 29e20dd commit 7937f7e

28 files changed

+121
-48
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ from seleniumbase import SB
9393
with SB(uc=True, test=True) as sb:
9494
url = "https://google.com/ncr"
9595
sb.activate_cdp_mode(url)
96+
sb.click_if_visible('button:contains("Accept all")')
9697
sb.type('[name="q"]', "SeleniumBase GitHub page")
9798
sb.click('[value="Google Search"]')
9899
sb.sleep(4) # The "AI Overview" sometimes loads

examples/boilerplates/samples/google_test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def test_google_dot_com(self):
1616
if not self.undetectable:
1717
self.get_new_driver(undetectable=True)
1818
self.driver.get("https://google.com/ncr")
19+
self.click_if_visible('button:contains("Accept all")')
1920
self.assert_title_contains("Google")
2021
self.sleep(0.05)
2122
self.save_screenshot_to_logs() # ("./latest_logs" folder)

examples/boilerplates/samples/test_page_objects.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
class GooglePage:
77
def go_to_google(self, sb):
88
sb.driver.get("https://google.com/ncr")
9+
sb.click_if_visible('button:contains("Accept all")')
910

1011
def assert_google_title(self, sb):
1112
sb.assert_title_contains("Google")

examples/cdp_mode/ReadMe.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -559,9 +559,9 @@ sb.cdp.assert_equal(first, second)
559559
sb.cdp.assert_not_equal(first, second)
560560
sb.cdp.assert_in(first, second)
561561
sb.cdp.assert_not_in(first, second)
562+
sb.cdp.js_scroll_into_view(selector)
562563
sb.cdp.scroll_into_view(selector)
563564
sb.cdp.scroll_to_y(y)
564-
sb.cdp.scroll_by_y(y)
565565
sb.cdp.scroll_to_top()
566566
sb.cdp.scroll_to_bottom()
567567
sb.cdp.scroll_up(amount=25)
@@ -730,6 +730,7 @@ element.flash(duration=0.5, color="EE4488")
730730
element.focus()
731731
element.gui_click(timeframe=0.25)
732732
element.highlight_overlay()
733+
element.is_in_viewport()
733734
element.mouse_click()
734735
element.mouse_drag(destination)
735736
element.mouse_move()

examples/cdp_mode/raw_homedepot.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
from seleniumbase import SB
22

3-
with SB(uc=True, test=True, ad_block=True) as sb:
3+
with SB(uc=True, test=True, incognito=True) as sb:
44
url = "https://www.homedepot.com/"
55
sb.activate_cdp_mode(url)
6-
sb.sleep(1.8)
6+
sb.sleep(1.4)
7+
sb.click_if_visible('[data-testid="CloseIcon"]', timeout=3)
8+
sb.sleep(1.2)
79
search_box = "input#typeahead-search-field-input"
810
search = "Computer Chair"
911
category = "Gaming Chairs"
1012
required_text = "Chair"
1113
sb.click(search_box)
12-
sb.sleep(1.2)
14+
sb.sleep(0.8)
1315
sb.press_keys(search_box, search)
1416
sb.sleep(0.6)
1517
sb.click("button#typeahead-search-icon-button")

examples/cdp_mode/raw_priceline.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,11 @@
3131
sb.sleep(0.6)
3232
sb.sleep(0.8)
3333
for y in range(1, 9):
34-
sb.scroll_to_y(y * 400)
35-
sb.sleep(0.5)
34+
sb.scroll_to_y(y * 200)
35+
sb.sleep(0.4)
3636
hotel_names = sb.find_elements('h3 div[class*="TitleName"]')
3737
if not hotel_names:
38-
hotel_names = sb.find_elements(
39-
'a[data-autobot-element-id*="HOTEL_NAME"]'
40-
)
38+
hotel_names = sb.find_elements("h3.antialiased")
4139
price_selector = '[class*="PriceWrap"] .relative > .items-center'
4240
if sb.is_element_visible(price_selector):
4341
hotel_prices = sb.find_elements(price_selector)
@@ -52,7 +50,6 @@
5250
'span.text-priceSuper-heading4 + div > span'
5351
)
5452
print("Priceline Hotels in %s:" % location)
55-
print(sb.get_text('[data-testid="POPOVER-DATE-PICKER"]'))
5653
if len(hotel_names) == 0:
5754
print("No availability over the selected dates!")
5855
count = 0

examples/cdp_mode/raw_stopandshop.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
"""Test Stop & Shop search. Non-US IPs might be blocked."""
22
from seleniumbase import SB
33

4-
with SB(uc=True, test=True, incognito=True) as sb:
4+
with SB(uc=True, test=True, guest=True) as sb:
55
url = "https://stopandshop.com/"
66
sb.activate_cdp_mode(url)
77
sb.sleep(2.6)
88
if not sb.is_element_present("#brand-logo_link"):
99
sb.refresh()
1010
sb.sleep(2.6)
1111
sb.wait_for_element("#brand-logo_link", timeout=3)
12+
sb.click_if_visible("#optly-popup-refresh-btn")
1213
query = "Fresh Turkey"
1314
required_text = "Turkey"
1415
search_box = 'input[type="search"]'

examples/hack_the_planet.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def test_all_your_base_are_belong_to_us(self):
5858
self.highlight("#shelf-2_section span", loops=6, scroll=False)
5959

6060
self.open("https://google.com/ncr")
61+
self.click_if_visible('button:contains("Accept all")')
6162
self.hide_elements("iframe")
6263
if self.is_element_visible('a[href*="about.google"]'):
6364
self.set_text_content('a[href*="about.google"]', ayb)
@@ -191,7 +192,7 @@ def test_all_your_base_are_belong_to_us(self):
191192
self.highlight("h1.article_title", loops=5, scroll=False)
192193

193194
self.open("https://kubernetes.io/")
194-
self.set_text_content('nav a[href="/docs/"]', "ALL")
195+
self.set_text_content('nav a[href="/docs/home/"]', "ALL")
195196
self.set_text_content('nav a[href="/blog/"]', "YOUR")
196197
self.set_text_content('nav a[href="/training/"]', "BASE")
197198
self.set_text_content('nav a[href="/careers/"]', "ARE")
@@ -202,7 +203,7 @@ def test_all_your_base_are_belong_to_us(self):
202203
if self.is_element_visible("h1"):
203204
self.set_text_content("h1", aybabtu)
204205
self.highlight("nav ul.navbar-nav", loops=3, scroll=False)
205-
self.highlight('nav a[href="/docs/"]', loops=1, scroll=False)
206+
self.highlight('nav a[href="/docs/home/"]', loops=1, scroll=False)
206207
self.highlight('nav a[href="/blog/"]', loops=1, scroll=False)
207208
self.highlight('nav a[href="/training/"]', loops=2, scroll=False)
208209
self.highlight('nav a[href="/careers/"]', loops=1, scroll=False)

examples/presenter/uc_presentation_4.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -799,13 +799,11 @@ def test_presentation_4(self):
799799
sb.sleep(0.6)
800800
sb.sleep(0.8)
801801
for y in range(1, 9):
802-
sb.scroll_to_y(y * 400)
803-
sb.sleep(0.5)
802+
sb.scroll_to_y(y * 200)
803+
sb.sleep(0.4)
804804
hotel_names = sb.find_elements('h3 div[class*="TitleName"]')
805805
if not hotel_names:
806-
hotel_names = sb.find_elements(
807-
'a[data-autobot-element-id*="HOTEL_NAME"]'
808-
)
806+
hotel_names = sb.find_elements("h3.antialiased")
809807
price_selector = '[class*="PriceWrap"] .relative > .items-center'
810808
if sb.is_element_visible(price_selector):
811809
hotel_prices = sb.find_elements(price_selector)
@@ -820,7 +818,6 @@ def test_presentation_4(self):
820818
'span.text-priceSuper-heading4 + div > span'
821819
)
822820
print("Priceline Hotels in %s:" % location)
823-
print(sb.get_text('[data-testid="POPOVER-DATE-PICKER"]'))
824821
if len(hotel_names) == 0:
825822
print("No availability over the selected dates!")
826823
count = 0

examples/raw_google.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
with SB(uc=True, test=True) as sb:
44
url = "https://google.com/ncr"
55
sb.activate_cdp_mode(url)
6+
sb.click_if_visible('button:contains("Accept all")')
67
sb.type('[name="q"]', "SeleniumBase GitHub page")
78
sb.click('[value="Google Search"]')
89
sb.sleep(4) # The "AI Overview" sometimes loads

0 commit comments

Comments
 (0)