我目前正在尝试获取 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
?
最佳答案
您传递给 $$eval
的函数参数不是图像,而是图像数组。
因此,从那里,您可以执行以下操作:
const getImgSrc = await page.$$eval('.photo-tile-image', imgs => imgs.map(img => img.src));
console.log(getImgSrc);
关于javascript - $$eval 返回未定义。在 puppeteer js 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54698979/