问题标签 [puppeteer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
995 浏览

node.js - 节点 Puppeteer 生成 PDF 不包括表单输入

我正在尝试使用 Puppeteer ( https://github.com/GoogleChrome/puppeteer ) 为快速应用程序创建 PDF 文件,代码如下:

这会生成一个非常好的 PDF,但它隐藏了任何输入元素(收音机、复选框等)

此外,我想定位由 ID 引用的特定 div。

另一件事是摆脱 PDF 上的页面。

Puppeteer 是否提供这种类型的自定义?

0 投票
1 回答
6207 浏览

javascript - 与 Google Chromes Puppeteer 反应

尝试使用在我的 Node.js 环境上运行的chrome puppeteer渲染一个反应组件, 我遇到了以下问题:

  • 日志记录element让我在无头 chrome控制台中:console.log(element)=><div id="test-wrapper"></div>
  • testWrapper在终端console.log(testWrapper)=>{}

    /li>

所以试着去做……</p>

…显然会导致错误(node:90555) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Invariant Violation: _registerComponent(...): Target container is not a DOM element.

我觉得即使我设法获得了 DOM 元素,我也在这里遗漏了一些东西来注入反应应用程序。

0 投票
2 回答
3645 浏览

javascript - 异步抛出 SyntaxError: Unexpected token (

我正在使用无头 Chrome 包Puppeteer运行测试:

我将脚本运行为:node --harmony test/e2e/puppeteer/index.js(v6.9.1)

但我得到这个错误:

可能是什么问题呢?

注意:我使用的是 Vue CLI 的官方 Webpack 模板:

0 投票
1 回答
2873 浏览

javascript - Puppeteer:有没有办法访问 DevTools Network API?

我正在尝试使用Puppeteer进行端到端测试。这些测试需要访问 DevTools 的网络仿真功能(例如模拟离线浏览)。

到目前为止,我正在使用 chrome-remote-interface,但它对我的口味来说太低级了。

据我所知,Puppeteer 没有公开网络 DevTools 功能(emulateNetworkConditions在 DevTools 协议中)。

Puppeteer 中是否有一个逃生舱来访问这些功能,例如一种在可以访问 DevTools API 的上下文中执行 Javascript 片段的方法?

谢谢

编辑: 好的,所以看来我可以使用以下方法解决缺少 API 的问题:

但我想这是糟糕的形式,可能随时从我脚下滑落?

0 投票
4 回答
9472 浏览

javascript - 使用无头 Chrome 以编程方式捕获 AJAX 流量

Chrome 官方支持以无头模式运行浏览器(包括通过 Puppeteer API 和/或 CRI 库进行编程控制)。

我已经搜索了文档,但我还没有找到如何以编程方式从实例中捕获 AJAX 流量(即从代码启动 Chrome 实例,导航到页面,并访问后台响应/请求调用和原始数据(全部来自不使用开发人员工具或扩展的代码)。

您是否有任何建议或示例详细说明如何实现这一目标?谢谢!

0 投票
7 回答
112797 浏览

javascript - 如何将变量传递给评估函数?

我正在尝试将变量传递给Puppeteerpage.evaluate()中的函数,但是当我使用以下非常简化的示例时,该变量是未定义的。evalVar

我是 Puppeteer 的新手,找不到任何可以构建的示例,所以我需要帮助将该变量传递给page.evaluate()函数,以便我可以在内部使用它。

0 投票
1 回答
4827 浏览

javascript - 如何在 Headless Chrome 中将会话 cookie 从一个选项卡传递到另一个选项卡

我正在使用puppeteer运行无头 chrome。登录后,我想保留会话 cookie 以供将来使用。有没有办法在 puppeteer 中保存和加载会话 cookie?

寻找类似的东西:

0 投票
1 回答
140 浏览

puppeteer - 无法在使用 puppeteer 的函数中使用页面实例

为什么在函数中使用页面实例(与newPage不在同一范围内)时会失败?感谢帮助和解释。

0 投票
4 回答
2948 浏览

node.js - 如何使用 chrome puppeteer 访问 ssl 证书内容

我想使用 chrome puppeteer 访问 url 的证书详细信息。是否可以使用当前的 puppeteer API 来做到这一点?

0 投票
1 回答
7634 浏览

javascript - 如何使用evaluateOnNewDocument 和exposeFunction?

最近,我将 Puppeteer 用于一个新项目。

我有一些关于我不理解的 API 的一部分的问题。这些 API 介绍的文档非常简单:

  1. page.exposeFunction
  2. page.evaluateOnNewDocument

我可以有一个详细的演示以获得更好的理解吗?