【发布时间】:2019-09-03 23:22:30
【问题描述】:
我对这两个代码块的区别感兴趣。
const $anchor = await page.$('a.buy-now');
const link = await $anchor.getProperty('href');
await $anchor.click();
await page.evaluate(() => {
const $anchor = document.querySelector('a.buy-now');
const text = $anchor.href;
$anchor.click();
});
我通常发现page.evaluate() 中的原始 DOM 元素更容易工作,并且 $ 方法返回的 ElementHandles 是一种抽象。
但是我觉得也许异步 Puppeteer 方法可能会更高效或提高可靠性?我在文档中找不到这方面的任何指导,并且有兴趣了解更多关于专家/反对者关于每种方法的信息以及添加 page.$$() 等方法的动机。
【问题讨论】:
标签: javascript node.js puppeteer