1

我有一个包含文件夹列表的页面容器。我想一一点击它们。附件是带有页面源的页面截图。在此处输入图像描述

我试过下面的代码:

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

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

但这不起作用。

4

2 回答 2

1

您可以使用将元素page.$$的所有实例收集.document-container元素句柄 document.querySelectorAll 在页面的上下文中运行。

然后,您可以使用elementHandle.click(正如您已经尝试过的那样)来迭代点击。

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

for (const el of elHandleArray) {
  await el.click()
}
于 2020-07-14T15:45:01.403 回答
0

您在哪里使用 puppeteer 启动了当前页面?你必须使用page.click(elementToClick);.

在这里,您试图获取指定div. 这意味着,您需要获取指定容器的子代div

要获取 HTML 元素的所有子元素,您始终可以使用.children属性,它将返回另一个元素内的元素数组。并且将返回一个空数组,以防父元素没有子元素。

在您的代码中,您可以尝试这样的事情:

let container = document.getElementByClassName('document-container');

let elements = container.children;

for(element in elements){
  element.click();
}

看看它是否有效。

于 2020-07-14T07:35:40.150 回答