Skip to content

Commit 985292f

Browse files
committed
Add Stealthy Playwright examples
1 parent 451993a commit 985292f

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from playwright.sync_api import sync_playwright
2+
from seleniumbase import sb_cdp
3+
4+
sb = sb_cdp.Chrome()
5+
endpoint_url = sb.get_endpoint_url()
6+
7+
with sync_playwright() as p:
8+
browser = p.chromium.connect_over_cdp(endpoint_url)
9+
context = browser.contexts[0]
10+
page = context.pages[0]
11+
url = (
12+
"https://www.gassaferegister.co.uk/gas-safety"
13+
"/gas-safety-certificates-records/building-regulations-certificate"
14+
"/order-replacement-building-regulations-certificate/"
15+
)
16+
page.goto(url)
17+
sb.sleep(0.5)
18+
sb.solve_captcha()
19+
page.wait_for_selector("#SearchTerm")
20+
allow_cookies = 'button:contains("Allow all cookies")'
21+
sb.click_if_visible(allow_cookies, timeout=2)
22+
sb.sleep(1)
23+
page.fill("#SearchTerm", "Hydrogen")
24+
page.click("button.search-button")
25+
sb.sleep(3)
26+
items = page.locator("div.search-result")
27+
for i in range(items.count()):
28+
item_text = items.nth(i).inner_text()
29+
print(item_text.replace("\n\n", "\n") + "\n")
30+
sb.scroll_to_bottom()
31+
sb.sleep(1)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
from playwright.sync_api import sync_playwright
2+
from seleniumbase import sb_cdp
3+
4+
sb = sb_cdp.Chrome(use_chromium=True)
5+
endpoint_url = sb.get_endpoint_url()
6+
7+
with sync_playwright() as p:
8+
browser = p.chromium.connect_over_cdp(endpoint_url)
9+
context = browser.contexts[0]
10+
page = context.pages[0]
11+
search = "reddit+scraper"
12+
url = f"https://www.reddit.com/r/webscraping/search/?q={search}"
13+
page.goto(url)
14+
sb.solve_captcha() # Might not be needed
15+
sb.sleep(1)
16+
post_title = '[data-testid="post-title"]'
17+
page.wait_for_selector(post_title)
18+
for i in range(8):
19+
sb.scroll_down(25)
20+
sb.sleep(0.2)
21+
print('*** Reddit Posts for "%s":' % search)
22+
items = page.locator(post_title)
23+
for i in range(items.count()):
24+
item_text = items.nth(i).inner_text()
25+
print("* " + item_text)

0 commit comments

Comments
 (0)