木偶:page.evaluate()返回空对象,而不是ISO日期字符串

时间:2020-07-12 09:57:03

标签: javascript date puppeteer

根据Puppeteer docspage.evaluate()返回不可序列化的值。它们链接到MDN docs,其中说明了JSON.stringify()进行了哪些转换。

我正在尝试获取Date值(作为ISO字符串),但是返回了空对象。 MDN文档对Date对象说了以下几点:

Date的实例通过返回字符串(与toJSON()相同)来实现date.toISOString()函数。因此,它们被视为字符串。

这里有一个例子来再现它:

const puppeteer = require('puppeteer'); // v5.0.0

(async () => {
    const browser = await puppeteer.launch({devtools: true});
    const page = await browser.newPage();
    await page.goto('about:blank');

    let date = await page.evaluate(() => {
        return new Date();
    });

    // Expected an ISO date string but empty object returned 
    console.log(date); // Output: {}

    await browser.close();
})();

我想念什么吗?

1 个答案:

答案 0 :(得分:1)

new Date()创建一个新的日期对象。如果要使用以下ISO日期字符串,

new Date().toISOString()