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

node.js - Puppeteer:保存 sessionStorage 和 localStorage

Puppeteer 可以将 sessionStorage 和 localStorage 中的值存储在磁盘上并下次使用它们吗?

0 投票
1 回答
1814 浏览

puppeteer - 如何根据`innerText`获取ElementHandle?

我有一个链接列表,并希望click根据链接名称访问其中一个。我不能用选择器来完成这个。

page.$eval使用类似获取该项目的 ElementHandle 之类的东西会很好,这样我就可以点击/单击它。

我能想到的唯一其他方法是获取 x/y 坐标$eval,然后手动单击该位置。似乎很乏味。

我根据指南在此处发布了此内容,但如果我们应该就此打开 PR,请LMK。

0 投票
1 回答
2786 浏览

javascript - 如何将变量传递给 Puppeteer page.on?

如果我有这个

page.on('response', this.extractImages);

第一个问题:如何将其他变量传递给this.extractImages函数?该功能被定义为extractImages(...args)args仅此而已:

第二个问题:如何从page.on触发的函数中获得返回(在本例中为:) this.extractImages

0 投票
1 回答
9214 浏览

javascript - 如何使用 puppeteer 获取 html 元素的所有子元素值

我正在使用puppeteer。我想获取表的列名的值。

我需要得到的是这些 td 值的数组。我尝试了 page.$(selector) 但无法理解输出。我也试过:

但无法获得这些 td 值的数组。

你能帮我遍历这些值吗?

编辑:找到问题的答案并将其发布在答案部分。

0 投票
8 回答
128728 浏览

javascript - puppeteer:如何等到元素可见?

我想知道我是否可以告诉 puppeteer 等到元素显示出来。

有什么办法可以做到这一点吗?

0 投票
1 回答
1454 浏览

javascript - Puppeteer:在 waitForSelector 处理程序中与 dom 交互

当我使用 puppeteer js 网络爬虫时,在waitForSelector处理程序中我可以console.log毫无问题地使用:

但是当我想与 DOM 交互时出现错误:

此代码触发此错误:

const inputValidate = await page.$('input[value=update]'); ^^^^

SyntaxError:在 Object.Module._extensions..js 的 Module._compile (module.js:537:28) 的 Object.runInThisContext (vm.js:116:10) 的 createScript (vm.js:74:10) 出现意外标识符(module.js:584:10) 在 Module.load (module.js:507:32) 在 tryModuleLoad (module.js:470:12) 在 Function.Module._load (module.js:462:3) 在 Function .Module.runMain (module.js:609:10) 在启动时 (bootstrap_node.js:158:16) 在 bootstrap_node.js:598:3

你知道如何在waitForSelector处理程序中与 DOM 交互而不触发错误吗?

0 投票
1 回答
2413 浏览

puppeteer - Puppeteer 使用递归迭代获取 page.content 以获取分页列表的所有结果

我想用 puppeteer 获取数据分页列表的所有结果。

如果我做一个 for 循环,我会给出这个错误:

这是我的代码:

那么如何解决这个错误以及如何在递归循环中转换 for 循环呢?

0 投票
5 回答
48298 浏览

javascript - Puppeteer 等待所有图像加载然后截图

我正在使用Puppeteer尝试在所有图像加载后截取网站的屏幕截图,但无法使其正常工作。

这是到目前为止我得到的代码,我使用https://www.digg.com作为示例网站:

0 投票
2 回答
1422 浏览

javascript - 作为 google puppeteer 上评估方法的参数

我想在评估()中运行一个函数,我将它作为参数传递,但我得到'func is not a function',我错过了什么?

木偶版:10.2

平台/操作系统版本:Windows 10、Node 8.2.1

0 投票
4 回答
17533 浏览

javascript - puppeteer - 如何提交表单

如何提交表格?我有一个简单的搜索栏和一个搜索按钮。下面输入搜索字符串,但不触发click事件。当 headless 设置为 false 并且我在 serachfield 中手动单击 enter 时,搜索正在工作。如何提交按钮?

我的搜索栏

更新

这不起作用:

它执行回发并且表单中的文本被清除,即使它应该使用 preventDefault 触发该函数。

所以问题似乎是这行代码等待

这是有效的:

我将代码更改为: