首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Puppeteer从XHR请求中获取body / json响应

如何使用Puppeteer从XHR请求中获取body / json响应
EN

Stack Overflow用户
提问于 2019-06-20 23:33:54
回答 1查看 18.8K关注 0票数 17

我想从我用Puppeteer抓取的网站获取JSON数据,但我不知道如何取回请求的正文。这是我尝试过的:

代码语言:javascript
复制
const puppeteer = require('puppeteer')
const results = [];
(async () => {
    const browser = await puppeteer.launch({
        headless: false
    })
    const page = await browser.newPage()
    await page.goto("https://capuk.org/i-want-help/courses/cap-money-course/introduction", {
        waitUntil: 'networkidle2'
    });

    await page.type('#search-form > input[type="text"]', 'bd14ew')  
    await page.click('#search-form > input[type="submit"]')

    await page.on('response', response => {    
        if (response.url() == "https://capuk.org/ajax_search/capmoneycourses"){
            console.log('XHR response received'); 
            console.log(response.json()); 
        } 
    }); 
})()

这只会返回一个promise pending函数。任何帮助都是最好的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-20 23:47:46

response.json返回一个承诺时,我们需要等待它。

代码语言:javascript
复制
page.on('response', async (response) => {    
    if (response.url() == "https://capuk.org/ajax_search/capmoneycourses"){
        console.log('XHR response received'); 
        console.log(await response.json()); 
    } 
}); 
票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56689420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档