我目前正在尝试获取HTML文件的img src,但遇到了问题。我不确定如何去做。让我解释一下:
我在html页面中有几个这样的div:
<div class="photo-tile photo-tile-small"><img class="photo-tile-image" src="https://photos.example.com/images/randomimage.jpg"></div>
我正在尝试获取所有页面的src。在此处的示例中为:https://photos.example.com/images/randomimage.jpg“ 如果页面上有10个,我要全部10个。
使用puppeteer js,这是我尝试尝试的代码: (不只是相关部分)
const getImgSrc = await page.$$eval('.photo-tile-image', img => img);
console.log(getImgSrc);
这将返回“未定义”。我对此的理解(我确定我错了)是在这里
$$。eval正在评估名为'.photo-tile-image'的该元素的每个实例,它将返回该元素的属性,在这种情况下,将从此处将其称为img
,我希望它注销console.log(getImgSrc)
通过这一点,我将如何得到img.src
?
答案 0 :(得分:2)
您要传递给$$eval
的函数的参数不是图像,而是图像数组。
因此,您可以从那里开始:
const getImgSrc = await page.$$eval('.photo-tile-image', imgs => imgs.map(img => img.src));
console.log(getImgSrc);