J'ai le code suivant, où je stocke tous les src dans un tableau, je voudrais stocker uniquement img avec le nom de classe xyz
const imgs = await page.$$eval('img[src]', imgs => imgs.map(img => img.getAttribute('src')));
J'ai essayé de filtrer l'utilisateur, mais je n'ai pas pu t atteindre la bonne syntaxe pour ce faire.
3 Réponses :
Ajoutez simplement .xyz
à votre chaîne de requête:
const imgs = await page.$$eval('img.xyz[src]', imgs => imgs.map(img => img.getAttribute('src')));
Vous pouvez utiliser ceci:
const imgaes = await page.$$eval('img', anchors => [].map.call(anchors, img => img.src));
Si vous voulez obtenir toutes les adresses SRC dans une classe last-photos:
const imgs = await page.$$eval('.latest-photos img[src]', imgs => imgs.map(img => img.getAttribute('src')));
Vous utilisez:
<div class="latest-photos"> <img src="/LogoImage.ashx?sn=14376&imgNbr=0" id="ctl00_ctl00_ctl00_cphMain_cphMiddle_cphCenterColumn_uctDiveInfoDisplay_img1" alt="OptionalI Image 1" width="170" style="vertical-align: top;" /> <img src="/LogoImage.ashx?sn=14376&imgNbr=1" id="ctl00_ctl00_ctl00_cphMain_cphMiddle_cphCenterColumn_uctDiveInfoDisplay_img2" alt="OptionalI Image 2" width="170" style="vertical-align: top;" /> <img src="/LogoImage.ashx?sn=14376&imgNbr=2" id="ctl00_ctl00_ctl00_cphMain_cphMiddle_cphCenterColumn_uctDiveInfoDisplay_img3" alt="Option alI Image 3" width="170" style="vertical-align: top;" /> </div>