根据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();
})();
我想念什么吗?
答案 0 :(得分:1)
new Date()创建一个新的日期对象。如果要使用以下ISO日期字符串,
new Date().toISOString()