如何在操纵up中获取列表中的所有元素

时间:2020-07-14 06:30:53

标签: javascript puppeteer playwright

我有一个包含文件夹列表的页面容器。我要一一点击它们。附件是带有页面源的页面的屏幕截图。 enter image description here

我尝试了以下代码:

   let elements = document.getElementsByClassName('document-container')

   for (let element of elements)
   {
    await  element.click();
   }
    

但这不起作用。

2 个答案:

答案 0 :(得分:1)

您可以使用page.$$.document-container元素的所有实例收集为element handles它在页面上下文中运行 document.querySelectorAll

然后,您就可以使用elementHandle.click来对点击进行迭代(因为您已经尝试过了)。

const elHandleArray = await page.$$('.document-container')

for (const el of elHandleArray) {
  await el.click()
}

答案 1 :(得分:0)

您使用伪人偶在哪里启动了当前页面? 您必须使用 { "persons" : [ { "FirstName" : "Luck", "LastName" : "Lucky", "Age" : 28 }, // ... ] }

在这里,您正在尝试获取指定的page.click(elementToClick);中的元素。这意味着,您需要获取指定容器div的子代。

要获取HTML元素的所有子元素, 您可以始终使用div属性,该属性将返回另一个元素内的元素数组。并且如果父元素没有子元素,则将返回一个空数组。

在您的代码中,您可以尝试执行以下操作:

.children

看看是否有效。