Puppeteer js试图获取img标签中的data-src的值

时间:2019-02-19 01:43:59

标签: puppeteer

目前,我有以下HTML:

                                                                                                                                                         

我需要获取那里的data-src链接。我在puppeteer js中的代码是:

  await page.waitForSelector('#ldpPhotoGallery');
  const getImgSrc = await page.$$eval('#ldpPhotoGallery', imgs => imgs.map(img => {img.getAttribute('data-src')}));
  console.log(getImgSrc);

我在这里等待页面ID,然后在它加载后应该运行页面评估。我不确定我是否正确执行此操作。据我了解,我正在评估id ldpPhotoGallery,然后从那里返回内容。从那里我正在搜索getAttribute data-src,它应该返回它否? console.log为[null]。我知道数据在那里。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

似乎您只是用箭头函数格式输入了一个错字:.map(img => {img.getAttribute('data-src')})将用undefined填充所有数组,因为带有箭头的主体在花括号中而没有retutn会隐式返回{ {1}}。然后undefined被序列化为undefined,您得到null。只需删除大括号或添加明确的[null]

顺便说一句,您不需要retutn作为id选择器,它返回的数组只有一个元素。 page.$$eval()可以满足要求:

page.$eval()
相关问题