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

标签 javascript node.js puppeteer

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

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

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

上述方法返回从给定 div 降序匹配 span 的所有元素。

如果我有一个 ElementHandle,有没有办法可以使用 puppeteer 找到与给定选择器匹配的所有依赖项?

最佳答案

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

The method runs element.querySelector within the page. If no element matches the selector, the return value resolves to null.

代码示例:

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

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

关于javascript - 如何查找选定元素或 ElementHandle 的后代元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56224484/

相关文章:

AngularJS:数组表示法中的 POST 参数

node.js - 从 firebase 存储中获取干净的 URL(没有 token )

javascript - 在 javascript 函数中执行 puppeteer 代码

javascript - 如何在 Puppeteer 中尽快获取文档响应并运行 javascript?

javascript - 如何模糊 puppeteer 中的输入元素?

javascript - NodeJS socket.io 抛出错误“连接在收到握手响应之前已关闭”

javascript - 在 IE 浏览器中运行我的 MVC Web 应用程序时遇到数据表错误

javascript - jQuery .map 到数组中

javascript - web api 2 CORS 不存在 'Access-Control-Allow-Origin' header

javascript - NodeJS - ES6 - 扩展类错误以返回我自己的类型作为错误响应的一部分