Python pyppeteer拦截/捕获网络请求

问题描述

您好,我正在尝试使用pyppeteer截取给定url的所有网络调用,

我的代码:

import asyncio
from pyppeteer import launch
import pickle

async def interceptResponse(response):
    print("printing response")
    print(response)
    


async def main():
    browser = await launch()
    page = await browser.newPage()
    await page.goto('https://www.google.com/search?q=sun+flower&rlz=1C1CHBF_enIN963IN963&source=lnms&tbm=isch&sa=X&sqi=2&ved=2ahUKEwjboKfMkoj0AhURppUCHS9hAuMQ_AUoAXoECAIQAw&biw=1920&bih=486&dpr=1')
    new_resutls = page.on('response', 
        lambda response: asyncio.ensure_future(interceptResponse(response)))



asyncio.get_event_loop().run_until_complete(main())

interceptResponse仅调用一次,即对于第一个网络调用,对于任何给定的url,我希望捕获所有网络调用,提前感谢


解决方案

尝试添加

await asyncio.sleep(10)

转到等待其他请求的主函数

相关文章