Puppeteer:如何在嵌套选择器内获得IMG SRC?

发布于 2025-02-08 15:19:49 字数 585 浏览 2 评论 0原文

我有这样的结构:

<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。

I have a structure like this:

<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>

I need get link of img1.jpg.
I can get links for class="full":

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

but I don't know how do it for only img1.jpg.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如梦 2025-02-15 15:19:50

如评论中所讨论的那样,

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

要归功于两件事:

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

As discussed in the comments,

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

works thanks to two things:

  1. Using $eval rather than $$eval to select one element
  2. Using .loaded.active .full to select the first .full descendent of the first .loading.active parent.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文