tra*_*ada 10 node.js puppeteer
我知道这是一个菜鸟问题,但我想知道什么时候应该使用 page.evaluate
我也知道文档存在,但我还是不明白
任何人都可以解释一下在使用 puppeteer 创建刮板时如何以及何时使用此功能?
Gra*_*ler 17
首先,重要的是要了解有两个主要环境:
page.evaluate()当您通过传递一个函数并返回一个解析为传递函数的返回值的a 来寻求直接在页面 DOM 环境中与页面交互时,您应该使用它。<Promise<Serializable>>
否则,如果您不使用page.evaluate(),您将ElementHandle在 Node.js (Puppeteer) 环境中将元素作为对象处理。
示例用法:
const example = await page.evaluate(() => {
const elements = document.getElementsByClassName('example');
const result = [];
document.title = 'New Title';
for (let i = 0; i < elements.length; i++) {
result.push(elements[i].textContent);
}
return JSON.stringify(result);
});
Run Code Online (Sandbox Code Playgroud)
请参阅下面的简化图:
| 归档时间: |
|
| 查看次数: |
9946 次 |
| 最近记录: |