Node.js 检查傀儡机中是否存在图像
hi stack我有一个快速的问题,我想看看这个元素是否存在,我只需要返回true或false这是下面的html代码,我已经尝试了几个小时,似乎无法找出我缺少的任何帮助将不胜感激。谢谢各位Node.js 检查傀儡机中是否存在图像,node.js,puppeteer,Node.js,Puppeteer,hi stack我有一个快速的问题,我想看看这个元素是否存在,我只需要返回true或false这是下面的html代码,我已经尝试了几个小时,似乎无法找出我缺少的任何帮助将不胜感激。谢谢各位 <img class="js-login-available login-available" src="/assets/img/form_validation-bad.png"> 您也可以使用这样的评估方法来解决此问题 let serachElemnt='img.js-login-availa
<img class="js-login-available login-available" src="/assets/img/form_validation-bad.png">
您也可以使用这样的评估方法来解决此问题
let serachElemnt='img.js-login-available login-available[src]';
let checkForElement = await page.evaluate((sel)=>{
let elementCheck =Array.from(document.querySelectorAll(sel));
if(elementCheck.length){
return true
}else return false;
},serachElemnt);
console.log(checkForElement);
请试试这个。我的解决方案是
if(await page.$$eval('img.js-login-available.login-available[src]', imgs => imgs.map(img => img.getAttribute('src')).includes('/assets/img/form_validation-ok.png'))){
console.log(names[i])
}
为什么要使用
$$eval
而不仅仅是$$
$$eval
在页面的上下文中运行--您正在登录浏览器而不是终端。老实说,我正在使用我找到的一个示例,即使我这样做,等待页面。$$('img.js-login-available login available[src]')。然后(img=>console.log(img))
它仍然返回空数组
if(await page.$$eval('img.js-login-available.login-available[src]', imgs => imgs.map(img => img.getAttribute('src')).includes('/assets/img/form_validation-ok.png'))){
console.log(names[i])
}