Javascript 如何根据textContent-Puppeter从一组元素中单击一个元素

Javascript 如何根据textContent-Puppeter从一组元素中单击一个元素,javascript,mocha.js,puppeteer,Javascript,Mocha.js,Puppeteer,我想使用Puppeter单击与给定文本匹配的选定元素 下面的javascript代码在浏览器控制台中运行良好 let menuitems = document.querySelectorAll('a[role=menuitem]'); for(i=0; i < menuitems.length; i++){ if((menuitems[i].textContent).includes("My Content")){ menuitems[i].textC

我想使用Puppeter单击与给定文本匹配的选定元素

下面的javascript代码在浏览器控制台中运行良好

let menuitems = document.querySelectorAll('a[role=menuitem]');

for(i=0; i < menuitems.length; i++){

  if((menuitems[i].textContent).includes("My Content")){
     menuitems[i].textContent.click()

     console.log("found");
   }
}
让menuitems=document.querySelectorAll('a[role=menuitem');
对于(i=0;i

我可以知道如何使用Puppeter实现这一点吗?

下面的代码片段有一个函数,它使用Puppeter转到页面并单击给定元素(假设您输入了所需内容)。请通读评论,看看您需要添加什么

木偶演员的git hub上有一些惊人的功能。当木偶演员习惯了它的全部潜能时,它是非常有趣的。它几乎可以完成普通用户在浏览器上执行的任何操作。玩得开心

//包括木偶演员模块
const puppeter=require('puppeter');
//函数必须异步到“等待”页面结果
const clickElm=async()=>{
let browser=wait puppeter.launch();
//如果你想运行木偶演员无头(能够看到发生了什么)通过设置“无头”到“假”
//let browser=wait puppeter.launch({headless:false})
let page=等待browser.newPage();
//在下面输入所需的URL
等待第页转到(“”);
//使用page.Evaluate()评估页面
等待页面。评估(()=>{
让menuitems=document.querySelectorAll('a[role=menuitem]”)
//对于每个菜单项,单击(假设元素可单击)
menuitems.forEach(项=>{
if(item.textContent.includes('My Content')){
项目。单击()
}
}) 
})
}

clickElm()最好的方法是xpath或切换到具有选择器的playwright。