点此免费加入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)

点此免费加入Python网络爬虫学习交流QQ群:428518750

picture loss