[英]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.