Javascript 如何根据textContent-Puppeter从一组元素中单击一个元素
我想使用Puppeter单击与给定文本匹配的选定元素 下面的javascript代码在浏览器控制台中运行良好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
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。