我对这两个代码块的差异感兴趣。
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();
});
我通常发现原始 DOM 元素page.evaluate()更容易工作,并且 $ 方法返回的 ElementHandles 是迄今为止的抽象。
但是我觉得异步 Puppeteer 方法可能性能更高或提高可靠性?我在文档中找不到这方面的任何指导,并且有兴趣了解更多关于 pro/con 的关于每种方法的信息以及添加方法(如page.$$().