expect playwright 预期的网页跳转 python
时间: 2023-06-15 10:08:37 浏览: 97
使用 Playwright 库的 Python 版本,可以通过 `page.wait_for_navigation()` 方法来等待页面跳转完成。该方法会返回一个 `Promise` 对象,可以使用 `async/await` 或者 `.then()` 来处理。
以下是一个示例代码:
```python
import asyncio
from playwright.async_api import async_playwright
async def main():
async with async_playwright() as p:
browser = await p.chromium.launch()
page = await browser.new_page()
# 访问网页
await page.goto('https://www.baidu.com')
# 点击链接
await page.click('a')
# 等待页面跳转完成
await page.wait_for_navigation()
# 打印当前页面 URL
print(page.url)
await browser.close()
asyncio.run(main())
```
在上述代码中,我们首先使用 `async_playwright()` 方法创建一个 Playwright 实例,然后调用 `browser.new_page()` 方法创建一个新页面。接着使用 `page.goto()` 方法访问百度首页,然后通过 `page.click()` 方法模拟点击链接。最后使用 `page.wait_for_navigation()` 方法等待页面跳转完成,然后使用 `page.url` 属性获取当前页面 URL。
需要注意的是,`page.wait_for_navigation()` 方法只能等待页面跳转完成,而无法等待异步请求的完成。如果需要等待异步请求完成,可以使用 `page.wait_for_selector()` 方法等待特定元素的出现。
阅读全文