我试着用Puppetter获取一个网站的文档,但不知何故,Page.Evaluate不像我想象的那样工作。
let browser = await puppeteer.launch({headless:true});
let page = await browser.newPage();
await page.setViewport({
width: 1920,
height: 1080
})
await page.goto('https://www.tradingview.com/chart/');
const doc = await page.evaluate(() => {
return document;
});
console.log(doc)
当我打印文档时,它打印未定义
1条答案
按热度按时间s4n0splo1#
不幸的是,
page.evaluate()
只能传输可序列化的值(大致上,JSON可以处理的值)。由于document
返回一个不可序列化的DOM元素(它包含方法和循环引用),它被替换为undefined
。您需要返回可序列化的值(例如,document.body.innerText
)或使用类似page.evaluateHandle()
和JSHandle
API的东西。