javascript - Puppeteer:如何在嵌套选择器中获取 img src?

标签 javascript image web-scraping puppeteer

我有这样的结构:

<div class="loaded active">
<img class="full" src="img1.jpg">
</div>

<div class="loaded">
<img class="full" src="img2.jpg">
</div>

<div class="loaded">
<img class="full" src="img3.jpg">
</div>

我需要获取 img1.jpg 的链接。 我可以获得 class="full"的链接:

const slkImg = '.full';
    
const imgs = await page.$$eval(slkImg, postLinks => postLinks.map(link => link.src));

但我不知道如何只对 img1.jpg 做。

最佳答案

正如评论中所讨论的,

page.$eval('.loaded.active .full', el => el.src)

工作归功于两件事:

  1. 使用$eval 而不是$$eval 来选择一个元素
  2. 使用 .loaded.active .full 选择第一个 .loading.active 父级的第一个 .full 后代。

关于javascript - Puppeteer:如何在嵌套选择器中获取 img src?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72666100/

相关文章:

javascript - 为所有对象创建一个方法,js vanilla?

php - 使用 goutte 从文件/字符串中读取

python - 无法从福布斯抓取当天的报价

javascript - 使用 javascript 控制 CFINCLUDE 文件

javascript - 从一个函数返回值到另一个函数

python - 通过网络抓取图像并使用 Python 保存

python - 使用 images2gif.py 创建 GIF 时出现 Numpy 错误

javascript - React Native 将图像上传到 AWS 服务器不适用于 Android

python - 阻止脚本访问的网页抓取

javascript - 在命名处理函数中使用 $(this) 和事件