Skip to content

Commit 5ea003f

Browse files
committed
Add new CDP Mode examples
1 parent de9735a commit 5ea003f

File tree

2 files changed

+54
-0
lines changed

2 files changed

+54
-0
lines changed

examples/cdp_mode/raw_multi_async.py

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Testing multiple CDP drivers using the async API
2+
import asyncio
3+
from concurrent.futures import ThreadPoolExecutor
4+
from random import randint
5+
from seleniumbase.undetected import cdp_driver
6+
7+
8+
async def main(url):
9+
driver = await cdp_driver.cdp_util.start_async()
10+
page = await driver.get(url)
11+
await page.set_window_rect(randint(4, 600), randint(8, 410), 860, 500)
12+
await page.sleep(0.5)
13+
field = await page.select("input")
14+
await field.send_keys_async("Text")
15+
button = await page.select("button")
16+
await button.click_async()
17+
await page.sleep(2)
18+
19+
20+
def set_up_loop(url):
21+
loop = asyncio.new_event_loop()
22+
loop.run_until_complete(main(url))
23+
24+
25+
if __name__ == "__main__":
26+
urls = ["https://seleniumbase.io/demo_page" for i in range(4)]
27+
with ThreadPoolExecutor(max_workers=len(urls)) as executor:
28+
for url in urls:
29+
executor.submit(set_up_loop, url)

examples/cdp_mode/raw_multi_cdp.py

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Testing multiple CDP drivers using the sync API
2+
import asyncio
3+
from concurrent.futures import ThreadPoolExecutor
4+
from random import randint
5+
from seleniumbase.core import sb_cdp
6+
from seleniumbase.undetected import cdp_driver
7+
8+
9+
def main(url):
10+
loop = asyncio.new_event_loop()
11+
driver = cdp_driver.cdp_util.start_sync()
12+
page = loop.run_until_complete(driver.get(url))
13+
sb = sb_cdp.CDPMethods(loop, page, driver)
14+
sb.set_window_rect(randint(4, 720), randint(8, 410), 800, 500)
15+
sb.press_keys("input", "Text")
16+
sb.highlight("button")
17+
sb.click("button")
18+
sb.sleep(2)
19+
20+
21+
if __name__ == "__main__":
22+
urls = ["https://seleniumbase.io/demo_page" for i in range(4)]
23+
with ThreadPoolExecutor(max_workers=len(urls)) as executor:
24+
for url in urls:
25+
executor.submit(main, url)

0 commit comments

Comments
 (0)