python代码 playwright库 跳转网页expect
时间: 2023-12-16 11:03:28 浏览: 32
在 Playwright 中,可以使用 `page.expect_navigation()` 方法来等待页面跳转并获取最终的响应。该方法会等待页面跳转到指定的 URL,然后返回跳转后的响应对象。
示例代码如下:
```python
from playwright.sync_api import Playwright, sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
# 等待页面跳转并获取响应
response = page.expect_navigation(url='https://www.example.com')
# 打印响应状态码
print(response.status)
# 关闭浏览器
browser.close()
```
在上面的示例代码中,我们使用 `page.expect_navigation()` 方法等待页面跳转到 https://www.example.com,并获取跳转后的响应对象。如果在超时时间内没有发生页面跳转,则会抛出超时异常。
除了可以通过 URL 来匹配跳转后的页面外,`page.expect_navigation()` 方法还支持传入 `waitUntil` 参数,用于设置等待条件。例如,可以设置等待条件为 `networkidle`,表示等待网络空闲时再返回跳转后的响应对象:
```python
from playwright.sync_api import Playwright, sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
# 等待页面跳转并获取响应
response = page.expect_navigation(url='https://www.example.com', wait_until='networkidle')
# 打印响应状态码
print(response.status)
# 关闭浏览器
browser.close()
```
在上面的示例代码中,我们将等待条件设置为 `networkidle`,表示等待网络空闲时再返回跳转后的响应对象。这样可以避免在页面还在加载资源时就返回响应对象。