首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >page.evaluate() -未定义文档

page.evaluate() -未定义文档
EN

Stack Overflow用户
提问于 2021-09-14 16:49:47
回答 1查看 134关注 0票数 2

我试图用Puppetter获取一个网站的文档,但不知何故,page.evaluate的工作方式并不像我想的那样。

代码语言:javascript
运行
复制
  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) 

当我打印文档时,它打印未定义的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-14 18:36:35

不幸的是,page.evaluate()只能传输可序列化的值(粗略地说,就是JSON可以处理的值)。由于document返回一个不可序列化的DOM元素(它包含方法和循环引用),因此将其替换为undefined。您需要返回可序列化的值(例如,document.body.innerText)或使用page.evaluateHandle()JSHandle API之类的东西。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69181663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档