Как получить ответ body / json на запрос XHR с помощью Puppeteer - PullRequest
0 голосов
/ 20 июня 2019

Я хочу получить данные JSON с веб-сайта, который я очищаю с помощью Puppeteer, но я не могу понять, как вернуть тело запроса.Вот что я попробовал:

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()); 
        } 
    }); 
})()

Это просто возвращает функцию ожидания обещания.Любая помощь будет великолепна.

1 Ответ

0 голосов
/ 20 июня 2019

Когда response.json возвращает обещание, нам нужно его дождаться.

await page.on('response', async (response) => {    
    if (response.url() == "https://capuk.org/ajax_search/capmoneycourses"){
        console.log('XHR response received'); 
        console.log(await response.json()); 
    } 
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...