如何查找选定元素或ElementHandle的后代元素?

时间:2019-05-20 16:00:42

标签: javascript node.js puppeteer

在其他浏览器自动化框架中,倾向于使用“查找”方法,该方法允许用户查找与选择器匹配的给定元素的所有后代,例如:

https://www.w3schools.com/jquery/jquery_traversing_descendants.asp

$(document).ready(function(){
   $("div").find("span");
});

以上方法返回从给定的span降下来的与div匹配的所有元素。

如果我有一个ElementHandle,有什么方法可以使用操纵符找到与给定选择器匹配的所有依赖项?

1 个答案:

答案 0 :(得分:2)

是的,您可以使用elementHandle.$函数。引用文档:

  

该方法在页面中运行element.querySelector。如果没有元素与选择器匹配,则返回值解析为null

代码示例:

const elementHandle = await page.$('div');
const elementInsideHandle = await elementHandle.$('span');

如果要查询多个元素,还可以使用$$函数在页面内运行element.querySelectorAll