点此免费加入Python网络爬虫学习交流QQ群:428518750
监听事件
在我们打开某个页面时,页面上可能会发生很多种事件。而Page对象为我们提供了一个on方法,让我们可以很方便的监听页面中的各个事件。比如:close、console、load、request、response。而在这些事件中,我们经常监听response事件,用来获取接口返回的数据。
在监听某事件时,需要先为该事件定义目标方法。也就是说,当监听到该事件时,就执行该方法。比如,我就经常会去监听response事件,在事件目标方法中,对url地址及响应状态码进行过滤,然后获取响应的结果。
示例代码:
from playwright.sync_api import Playwright, sync_playwright, expect
def on_response(response):
if 'www.baidu.com/sugrec'in response.url and response.status == 200:
print(response.json())
def run(playwright: Playwright) -> None:
browser = playwright.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page()
page.on('response',on_response)
page.goto("https://www.baidu.com/")
page.close()
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
本站所有内容均为原创,本站保留所有权利。仅允许非商业用途的转载,但必须注明来源网站、作者、来源链接!否则,由此造成的一切后果,由转载方承担!
干货分享、技术提升、面试笔试、学习交流,欢迎关注公众号:xuesql。QQ学习交流群:209942678。