Node.js 如何在puppeter上使用xpath查询获取元素中的子元素数量?
我需要获得页面中元素中的子元素数。$x(xpath)函数在Puppeter中,mad I未成功。在浏览器控制台中,我可以使用$x().children.length执行此操作。在具有节点的木偶演员中,什么是实现这一点的最佳方法?您可以在Node.js 如何在puppeter上使用xpath查询获取元素中的子元素数量?,node.js,xpath,puppeteer,Node.js,Xpath,Puppeteer,我需要获得页面中元素中的子元素数。$x(xpath)函数在Puppeter中,mad I未成功。在浏览器控制台中,我可以使用$x().children.length执行此操作。在具有节点的木偶演员中,什么是实现这一点的最佳方法?您可以在页面中使用element/JS handle API或纯Web API。evaluate()。这两种方式都是: const puppeter=require('puppeter'); (异步函数main(){ 试一试{ const browser=wait pup
页面中使用element/JS handle API或纯Web API。evaluate()
。这两种方式都是:
const puppeter=require('puppeter');
(异步函数main(){
试一试{
const browser=wait puppeter.launch();
const[page]=wait browser.pages();
等待页面。转到('https://example.org/');
const[element]=wait page.$x('//body/div');
const children=await元素.getProperty('children');
const length1=await(await children.getProperty('length')).jsonValue();
console.log(长度1);//3
const length2=等待页面。评估(()=>{
返回文档。评估(
'//body/div',document,null,XPathResult.FIRST\u ORDERED\u NODE\u类型
).singleNodeValue.children.length;
});
console.log(长度2);//3
等待浏览器关闭();
}捕捉(错误){
控制台错误(err);
}
})();
只需在页面内部使用相同的方法即可。评估得到我期望的结果有点不同。我成功地做到了与第一个解决方案类似的事情。但是你的方式更短,阅读起来更漂亮,谢谢