繁体   English   中英

使用 puppeteer 查找图像 src

[英]Finding image src using puppeteer

我正在尝试使用 Puppeteer(class="bRMDJf islir) 获取第一个 Google 图像搜索结果的 src。我尝试使用父类以及图像类本身:

const imgURL = await page.$eval('img.rg_i.Q4LuWd[src]',img => img.src);
const imgURL = await page.$eval('.bRMDJf.islir img',img => img.src);

您的主要问题是您的选择器是错误的。

const imgURL = await page.$eval('.bRMDJf.islir img', img => img.src);

应该:

const imgURL = await page.$eval('.bRMDJf.islir > img', img => img.src);

此外,如果您想从之前选择的元素中获取图像 src,而不是从页面上下文中选择元素(使用page.$eval ),或者如果您想使用 xpath 进行选择,则可以使用 getProperty on元素代替。

应该是这样的:

首先选择元素:

  • CSS

     const element = await page.$('.bRMDJf.islir > img');
  • XPath - 选择第一个具有属性src img元素,该元素包含在具有值为bRMDJf islir的属性class任何元素中。

     const element = (await page.$x('//*[@class="bRMDJf islir"]/img[@src]'))[0];

然后从元素中获取属性src的值:

const imgSrc = (await element.getProperty('src'))._remoteObject.value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM