playwright 模块 page.get_by_role("button", name="搜索").click() 如何等待跳转的页面加载完成
时间: 2025-02-02 18:12:19 浏览: 66
在使用 Playwright 模块进行自动化测试时,`page.get_by_role("button", name="搜索").click()` 方法用于点击一个按钮。如果点击按钮后会跳转到另一个页面,你可能需要等待新页面加载完成。可以通过以下几种方式来等待页面加载完成:
1. **使用 `page.wait_for_load_state()` 方法**:
这个方法可以等待页面加载到特定的状态,比如 `load`, `domcontentloaded` 或 `networkidle`。
2. **使用 `page.wait_for_url()` 方法**:
这个方法可以等待页面的 URL 发生变化。
3. **使用 `page.wait_for_selector()` 方法**:
这个方法可以等待页面上某个特定的元素加载完成。
以下是一些示例代码:
```python
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://example.com")
# 点击按钮并等待新页面加载完成
page.get_by_role("button", name="搜索").click()
page.wait_for_load_state("networkidle") # 等待网络空闲状态
# 或者等待特定 URL
page.get_by_role("button", name="搜索").click()
page.wait_for_url("https://example.com/search")
# 或者等待特定元素加载
page.get_by_role("button", name="搜索").click()
page.wait_for_selector(".search-results")
browser.close()
```
这些方法可以帮助你确保在继续执行后续操作之前,页面已经完全加载。
阅读全文
相关推荐


















