问题标签 [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 投票
12 回答
24784 浏览

javascript - Puppeteer 记录在 page.evaluate

如何在 page.evaluate 中 console.log 某些内容,将其传递给节点并在评估页面期间使用它?

我实际上想记录页面的进度。评估到控制台并向用户显示一些结果。

0 投票
4 回答
26384 浏览

node.js - 使用 Puppeteer 和无头 Chrome 获取 DOM 节点文本

我正在尝试使用无头 Chrome 和 Puppeteer 来运行我们的 Javascript 测试,但我无法从页面中提取结果。基于这个答案,看起来我应该使用page.evaluate(). 该部分甚至有一个看起来像我需要的示例。

作为一个完整的示例,我尝试将其转换为一个脚本,该脚本将从我在 Stack Overflow 上的用户个人资料中提取我的姓名。我们的项目使用的是 Node 6,所以我将await表达式转换为使用.then().

当我运行它时,我收到此错误:

问题似乎在于将输入参数序列化为page.evaluate(). 我可以传入字符串和数字,但不能传入元素句柄。示例是错误的,还是 Node 6 的问题?如何提取 DOM 节点的文本?

0 投票
1 回答
1246 浏览

google-analytics - 使用 Puppeteer 和 Mocha / Sinon(或类似工具)从 Google Analytics 中窥探数据层

因此,我正在尝试使用 Headless Chromes + Puppeteer + Mocha + Sinon 对我的 Google Analytics 调用进行自动测试,但无法读取数据层值以供 Sinon 进行监视。

这就是我到目前为止所拥有的。但是窗口总是未定义的。test 是一个代理传递 puppeteer 调用到内部浏览器的类。

这是浏览器类:

0 投票
3 回答
4373 浏览

dropzone.js - 如何使用 puppeteer 和 dropzone 上传文件?

我使用puppeteer,我有一个dropzone表格。

我想将 chrome headless 中的文件添加到 dropzone 表单中。

我怎样才能做到这一点?

注意:表单包含一些 dropzone 事件中的一些操作(添加文件时)。

0 投票
3 回答
4925 浏览

node.js - 如何在事件侦听器中捕获异常?

我使用 Puppeteer 库打开一个 URL 并处理所有请求的响应。有时在事件监听page.on('response')器中我需要抛出一个错误,如下例所示。但是我无法以任何方式捕获这些异常,我总是得到unhandled promise rejection错误。我该如何处理这些异常?我不想使用process.on('unhandledRejection'),因为它根本不能解决我的问题。

0 投票
1 回答
1992 浏览

javascript - puppeteer 表单提交后新加载的页面

我正在使用 puppeteer 来衡量页面的性能及其功能(这仍处于初始阶段,因为我才刚刚开始)。这是我正在使用的示例:

表单提交后如何访问新加载的页面?我的意思是用户已经登录,我们如何才能获得新加载页面的句柄?

0 投票
2 回答
1176 浏览

cookies - 无头 Chrome Puppeteer 跳过使用 Cookie 登录 Twitter?

是否可以通过设置 cookie 跳过登录 Twitter?

我试图在 Web 控制台中复制从“document.cookie”获得的内容,但这给了我错误Invalid parameters name: string value expected

0 投票
5 回答
22730 浏览

javascript - 使用 Puppeteer 在循环中抓取多个 URL

我有一组 URL 可以从以下位置抓取数据:

这就是我正在做的事情:

这似乎不等待页面加载并很快访问所有 URL(我什至尝试使用page.waitFor)。

我想知道我是否在做一些根本错误的事情,或者不建议/支持这种类型的功能。

0 投票
1 回答
1124 浏览

javascript - 如何配置 puppeteer 以获取具有完整图像和样式的 pdf 页面?

图像- 2 - 和一些样式- 1 - 在我使用 puppeteer 时不会加载,page.pdf.即使我设置了page.waitForNavigation. 如果我使用相同的代码而不是它的工作原理!
在此处输入图像描述

page.screenshotpage.pdf
在此处输入图像描述

  • 节点 v8.5.0
  • Puppeteer 0.10.2(最新)


代码:

0 投票
1 回答
1048 浏览

javascript - 当使用所有文件都需要这样的模块时,如何将代码拆分为多个文件?

在这种情况下,我使用的是 puppeteer chrome 无头浏览器和 mongoDb。这是我的代码:

我想将我的代码拆分为相关文件,如“chrome.js”、“twitter.js”、“database,js”、“utilities.js”。问题是我几乎在每个文件中都需要上面声明的这 4 个变量,并且在每个函数中传递它们似乎很愚蠢。我也不能将它们重新声明到每个文件中,因为这会打开一个新的 chrome 浏览器并建立一个新的数据库连接。