Как сохранить вывод консоли как переменную Puppeteer - PullRequest
0 голосов
/ 19 марта 2020

У меня проблема с сохранением вывода консоли в качестве переменной. Я создал небольшую демо-версию, содержащую менее 20 строк кода, когда будет выполнен вывод «привет, как дела» на консоль моего узла, я хотел бы сохранить этот текст как переменную. Спасибо

const puppeteer = require('puppeteer');

(async function main() {
    const browser = await puppeteer.launch({
        headless: false,
        defaultViewport: null
    });
    const Page = await browser.newPage();
    await Page.goto('https://www.google.com/');
    await Page.on('console', code => console.log(code.text()));
    await Page.evaluate(_ => {
        var b = "123"
        console.log(b);
    });

})();

1 Ответ

0 голосов
/ 19 марта 2020

Вы можете использовать обещание, которое будет выполнено в событии, а затем ожидать его.

const browser = await puppeteer.launch({
    headless: false,
    defaultViewport: null
});
let resolve;
var consoleLogPromise = new Promise(x => resolve = x);
const Page = await browser.newPage();
await Page.goto('https://www.google.com/');
await Page.on('console', code => resolve(code.text()));
await Page.evaluate(test);

var output = await consoleLogPromise;
console.log(output);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...