【发布时间】:2020-07-12 09:57:03
【问题描述】:
根据Puppeteer docs,page.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();
})();
我错过了什么吗?
【问题讨论】:
-
这似乎有点令人困惑。查看未解决的问题:github.com/puppeteer/puppeteer/issues/5297
标签: javascript date puppeteer