【问题标题】:Python pyppeteer Intercept/Capture Network RequestsPython pyppeteer 拦截/捕获网络请求
【发布时间】:2021-11-25 23:36:53
【问题描述】:

您好,我正在尝试使用 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,我想捕获所有网络调用,提前致谢

【问题讨论】:

  • 你为什么要定义new_results(你也有错字:))?只需page.on('response', lambda response: asyncio.ensure_future(interceptResponse(response)))

标签: python node.js google-chrome-devtools puppeteer pyppeteer


【解决方案1】:

尝试添加

await asyncio.sleep(10)

到main函数等待其他请求

【讨论】:

    猜你喜欢
    • 2019-02-18
    • 2022-06-23
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 2021-08-18
    • 1970-01-01
    • 2019-08-17
    • 2010-11-21
    相关资源
    最近更新 更多