|
7 | 7 |
|
8 | 8 | async def main(): |
9 | 9 | url = "seleniumbase.io/simple/login" |
10 | | - driver = await cdp_driver.start_async(incognito=True) |
11 | | - page = await driver.get(url) |
12 | | - print(await page.evaluate("document.title")) |
13 | | - element = await page.select("#username") |
14 | | - await element.send_keys_async("demo_user") |
15 | | - element = await page.select("#password") |
16 | | - await element.send_keys_async("secret_pass") |
17 | | - element = await page.select("#log-in") |
18 | | - await element.click_async() |
19 | | - time.sleep(1) |
| 10 | + driver = await cdp_driver.start_async() |
| 11 | + page = await driver.get(url, lang="en") |
| 12 | + print(await page.get_title()) |
| 13 | + await page.type("#username", "demo_user") |
| 14 | + await page.type("#password", "secret_pass") |
| 15 | + await page.click("#log-in") |
| 16 | + print(await page.get_title()) |
20 | 17 | element = await page.select("h1") |
21 | 18 | assert element.text == "Welcome!" |
| 19 | + top_nav = await page.select("div.topnav") |
| 20 | + links = await top_nav.query_selector_all_async("a") |
| 21 | + for nav_item in links: |
| 22 | + print(nav_item.text) |
22 | 23 | driver.stop() |
23 | 24 |
|
24 | 25 | if __name__ == "__main__": |
25 | 26 | # Call an async function with awaited methods |
26 | 27 | loop = asyncio.new_event_loop() |
27 | 28 | loop.run_until_complete(main()) |
28 | 29 |
|
29 | | - # Call everything without using async / await |
| 30 | + # An example of wrapping all async calls with event loops |
30 | 31 | driver = cdp_driver.start_sync() |
31 | 32 | page = loop.run_until_complete(driver.get("about:blank")) |
32 | 33 | loop.run_until_complete(page.set_locale("en")) |
|
0 commit comments