Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Puppeter节点js获取querySelectorAll的第二个元素并循环通过其元素_Javascript_Node.js_Puppeteer - Fatal编程技术网

Javascript 如何使用Puppeter节点js获取querySelectorAll的第二个元素并循环通过其元素

Javascript 如何使用Puppeter节点js获取querySelectorAll的第二个元素并循环通过其元素,javascript,node.js,puppeteer,Javascript,Node.js,Puppeteer,我试图刮这个网站,他们的网站布局使用相同的类名为我需要的信息。我尝试使用document.querySelectorAll(),但它返回未定义 let shoeHtml=wait page.evaluate(()=>document.queryselectoral('.form section right')) 如果我尝试let shoeHtml=wait page.evaluate(()=>document.queryselectoral('.form section right')[1].i

我试图刮这个网站,他们的网站布局使用相同的类名为我需要的信息。我尝试使用document.querySelectorAll(),但它返回未定义

let shoeHtml=wait page.evaluate(()=>document.queryselectoral('.form section right'))

如果我尝试
let shoeHtml=wait page.evaluate(()=>document.queryselectoral('.form section right')[1].innerHTML)
它返回一个字符串,我无法循环遍历它并获取所需的信息

这是html代码


我想获取的信息是
a
标签。我还想单击它们。

evaluate
仅返回可序列化的数据,而页内对象不可序列化。您需要使用或
page.$$
,这相当于傀儡执行上下文中的
querySelectorAll

let shoeHtml=wait page.$$('.form section right');
在Puppeter上下文中访问元素的属性:

const innerHTML=wait page.evaluate(el=>el.innerHTML,shoeHtml[1]);

const innerHTML=await(await shoeHtml[1].getProperty('innerHTML')).jsonValue();

console.log(shoeHtml[1].innerHTML)@NinoSoles如果元素在puppeter上下文中,您不能像那样访问元素的属性。编辑了答案。