Skip to content

Commit 35c3e38

Browse files
committed
Update examples
1 parent 58e5ba8 commit 35c3e38

23 files changed

+147
-68
lines changed

examples/cdp_mode/ReadMe.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,13 +191,14 @@ with SB(uc=True, test=True, locale="en", ad_block=True) as sb:
191191
sb.activate_cdp_mode(url)
192192
sb.sleep(3.5)
193193
sb.click_if_visible('button[aria-label="Close"]')
194+
sb.sleep(0.1)
194195
sb.click_if_visible("#onetrust-reject-all-handler")
195-
sb.sleep(1)
196+
sb.sleep(1.2)
196197
location = "Anaheim, CA, USA"
197198
sb.type('input[id="search-term"]', location)
198-
sb.sleep(1)
199+
sb.sleep(1.2)
199200
sb.click('li[data-js="suggestion"]')
200-
sb.sleep(1)
201+
sb.sleep(1.2)
201202
sb.click("button.be-button-shop")
202203
sb.sleep(6)
203204
card_info = 'div[data-booking-status="BOOKABLE"] [class*="HotelCard_info"]'
@@ -381,6 +382,7 @@ sb.cdp.click_if_visible(selector)
381382
sb.cdp.click_visible_elements(selector, limit=0)
382383
sb.cdp.click_nth_element(selector, number)
383384
sb.cdp.click_nth_visible_element(selector, number)
385+
sb.cdp.click_with_offset(selector, x, y, center=False)
384386
sb.cdp.click_link(link_text)
385387
sb.cdp.go_back()
386388
sb.cdp.go_forward()
@@ -475,11 +477,13 @@ sb.cdp.set_session_storage_item(key, value)
475477
sb.cdp.set_attributes(selector, attribute, value)
476478
sb.cdp.is_attribute_present(selector, attribute, value=None)
477479
sb.cdp.is_online()
480+
sb.cdp.solve_captcha()
478481
sb.cdp.gui_press_key(key)
479482
sb.cdp.gui_press_keys(keys)
480483
sb.cdp.gui_write(text)
481484
sb.cdp.gui_click_x_y(x, y, timeframe=0.25)
482485
sb.cdp.gui_click_element(selector, timeframe=0.25)
486+
sb.cdp.gui_click_with_offset(selector, x, y, timeframe=0.25, center=False)
483487
sb.cdp.gui_click_captcha()
484488
sb.cdp.gui_drag_drop_points(x1, y1, x2, y2, timeframe=0.35)
485489
sb.cdp.gui_drag_and_drop(drag_selector, drop_selector, timeframe=0.35)

examples/cdp_mode/raw_antibot.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,9 @@
55
sb.activate_cdp_mode(url)
66
sb.press_keys("input#username", "demo_user")
77
sb.press_keys("input#password", "secret_pass")
8-
x, y = sb.cdp.get_gui_element_center("button#myButton")
9-
sb.uc_gui_click_x_y(x, y)
8+
sb.click("button#myButton")
109
sb.sleep(1.5)
11-
x, y = sb.cdp.get_gui_element_center("a#log-in")
12-
sb.uc_gui_click_x_y(x, y)
10+
sb.click("a#log-in")
1311
sb.assert_text("Welcome!", "h1")
1412
sb.set_messenger_theme(location="bottom_center")
1513
sb.post_message("SeleniumBase wasn't detected!")

examples/cdp_mode/raw_async.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,10 @@ async def main():
5757
where_to = 'div[data-automation*="experiences"] input'
5858
button = 'button[data-automation*="experiences-search"]'
5959
sb.wait_for_text("Where to?")
60-
sb.gui_click_element(where_to)
60+
sb.click(where_to)
6161
sb.press_keys(where_to, location)
6262
sb.sleep(1)
63-
sb.gui_click_element(button)
63+
sb.click(button)
6464
sb.sleep(3)
6565
print(sb.get_title())
6666
print("************")

examples/cdp_mode/raw_canvas.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
"""Use SeleniumBase to interact with "canvas" elements."""
2+
from seleniumbase import SB
3+
4+
5+
def get_canvas_pixel_colors_at_top_left(sb):
6+
# Return the RGB colors of the canvas's top left pixel
7+
color = sb.cdp.evaluate(
8+
"document.querySelector('canvas').getContext('2d')"
9+
".getImageData(%s,%s,1,1).data;" % (0, 0)
10+
)
11+
return [color["0"], color["1"], color["2"]]
12+
13+
14+
with SB(uc=True, test=True) as sb:
15+
# Testing sb.cdp.click_with_offset()
16+
url = "https://seleniumbase.io/canvas/"
17+
sb.activate_cdp_mode(url)
18+
sb.assert_title_contains("Canvas")
19+
sb.highlight("canvas")
20+
rgb = get_canvas_pixel_colors_at_top_left(sb)
21+
sb.assert_equal(rgb, [221, 242, 231]) # Looks greenish
22+
sb.cdp.click_with_offset("canvas", 500, 350)
23+
sb.highlight("canvas", loops=5)
24+
rgb = get_canvas_pixel_colors_at_top_left(sb)
25+
sb.assert_equal(rgb, [39, 43, 56]) # Blue by hamburger
26+
27+
with SB(uc=True, test=True) as sb:
28+
# Testing sb.cdp.gui_click_with_offset()
29+
url = "https://seleniumbase.io/other/canvas"
30+
sb.activate_cdp_mode(url)
31+
sb.assert_title_contains("Canvas")
32+
sb.cdp.gui_click_with_offset("canvas", 0, 0, center=True)
33+
sb.sleep(1)
34+
sb.uc_gui_press_key("ENTER")
35+
sb.sleep(0.5)

examples/cdp_mode/raw_cdp_drivers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@
1313
print(sb.get_current_url())
1414
sb.type("input#username", "demo_user")
1515
sb.type("input#password", "secret_pass")
16-
sb.cdp.gui_click_element("button")
16+
sb.click("button")
1717
sb.sleep(1)
18-
sb.cdp.gui_click_element("a#log-in")
18+
sb.click("a#log-in")
1919
sb.assert_text("Welcome!", "h1")
2020
sb.sleep(2)
2121
sb.switch_to_driver(driver2)
2222
sb.assert_url_contains("hobbit")
2323
print(sb.get_current_url())
24-
sb.cdp.gui_click_element("button")
24+
sb.click("button")
2525
sb.assert_text("Welcome to Middle Earth!")
2626
sb.click("img")
2727
sb.sleep(3)

examples/cdp_mode/raw_cdp_gitlab.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
url = "https://gitlab.com/users/sign_in"
44
sb = sb_cdp.Chrome(url, incognito=True)
55
sb.sleep(2.2)
6-
sb.gui_click_captcha()
6+
sb.solve_captcha()
77
sb.highlight('h1:contains("GitLab")')
88
sb.highlight('button:contains("Sign in")')
99
sb.driver.stop()

examples/cdp_mode/raw_cdp_hyatt.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,20 @@
44
sb = sb_cdp.Chrome(url, locale="en", guest=True)
55
sb.sleep(4.2)
66
sb.click_if_visible('button[aria-label="Close"]')
7+
sb.sleep(0.1)
78
sb.click_if_visible("#onetrust-reject-all-handler")
8-
sb.sleep(1)
9+
sb.sleep(1.2)
910
location = "Anaheim, CA, USA"
1011
sb.type('input[id="search-term"]', location)
11-
sb.sleep(1)
12+
sb.sleep(1.2)
1213
sb.click('li[data-js="suggestion"]')
13-
sb.sleep(1)
14+
sb.sleep(1.2)
1415
sb.click("button.be-button-shop")
1516
sb.sleep(6)
1617
card_info = 'div[data-booking-status="BOOKABLE"] [class*="HotelCard_info"]'
1718
hotels = sb.select_all(card_info)
1819
print("Hyatt Hotels in %s:" % location)
19-
print("(" + sb.get_text("ul.b-color_text-white") + ")")
20+
print("(" + sb.get_text('span[class*="summary_destination"]') + ")")
2021
if len(hotels) == 0:
2122
print("No availability over the selected dates!")
2223
for hotel in hotels:

examples/cdp_mode/raw_cdp_recaptcha.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
url = "https://seleniumbase.io/apps/recaptcha"
44
sb = sb_cdp.Chrome(url)
5-
sb.gui_click_captcha()
5+
sb.solve_captcha()
66
sb.assert_element("img#captcha-success")
77
sb.set_messenger_theme(location="top_left")
88
sb.post_message("SeleniumBase wasn't detected", duration=3)

examples/cdp_mode/raw_cdp_turnstile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
url = "https://seleniumbase.io/apps/turnstile"
44
sb = sb_cdp.Chrome(url)
5-
sb.gui_click_captcha()
5+
sb.solve_captcha()
66
sb.assert_element("img#captcha-success")
77
sb.set_messenger_theme(location="top_left")
88
sb.post_message("SeleniumBase wasn't detected", duration=3)

examples/cdp_mode/raw_driver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
url = "www.planetminecraft.com/account"
77
driver.uc_activate_cdp_mode(url)
88
driver.sleep(1)
9-
driver.uc_gui_click_captcha()
9+
driver.cdp.solve_captcha()
1010
driver.wait_for_element_absent("input[disabled]")
1111
driver.sleep(2)

0 commit comments

Comments
 (0)