python+playwright 学习-83 page.expect_response()捕获网络返回数据

前言

expect_response()方法可以捕获接口返回的数据,在爬取网页数据时非常有用。

expect_response() 使用

官方文档示例

with page.expect_response("https://example.com/resource") as response_info:
    page.get_by_text("trigger response").click()
response = response_info.value
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`page.expect_response(url: Optional[Union[str, Pattern]] = None, *, timeout: Optional[float] = None, predicate: Optional[Callable[[Response], bool]] = None)` 是 Playwright 库中 `page` 对象的一个方法,用于等待一个响应 (Response)。该方法可以传入一个 URL 或正则表达式作为参数,用于匹配响应的 URL,也可以传入一个判断函数作为参数,用于判断响应是否符合条件。如果匹配到了符合条件的响应,该方法会立即返回该响应 (Response) 对象。 该方法的参数说明如下: - `url`:可选参数,匹配响应的 URL。可以传入一个字符串或正则表达式。如果没有传入该参数,则会等待任意一个响应。 - `timeout`:可选参数,设置超时时间 (单位为秒)。如果在指定时间内没有匹配到符合条件的响应,则该方法会抛出超时异常。 - `predicate`:可选参数,一个函数用于判断响应是否符合条件。该函数接受一个 Response 对象作为参数,并返回一个布尔值表示该响应是否符合条件。如果没有传入该参数,则会按照 URL 进行匹配。 示例代码: ```python response = page.expect_response(url='https://www.example.com/', timeout=5000) print(response.status) ``` 该代码会等待页面中的某个请求返回一个 URL 为 `https://www.example.com/` 的响应,并将该响应的状态码打印出来。如果在 5000 毫秒内没有匹配到符合条件的响应,则会抛出超时异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值