Puppeteer js eval 函数返回对象的对象

Fab*_*ioG 2 javascript node.js puppeteer

目前,我的 puppeteer 文件中有以下部分代码:

  const getImgSrc = await page.$eval('#ldpGallery', el => el.getElementsByTagName('img'));
  console.log(getImgSrc);
Run Code Online (Sandbox Code Playgroud)

我从中得到的 html 是这样的:

<img data-src="https://example.com/981489624/e132d90154bc6cbc6616442c0742fc43l-m0xd-w1020_h770_q80.jpg" class="owl-lazy" src="">
Run Code Online (Sandbox Code Playgroud)

我在控制台中得到的结果是这样的:

{ '0': {},
  '1': {},
  '2': {},
  '3': {},
  '4': {} }
Run Code Online (Sandbox Code Playgroud)

我正在尝试从上面的 html 访问 data-src。在我检索到我尝试过的对象之后。forEach() 和 map ,它们都给我一个错误。

我将如何获得 data-src 字符串?

har*_*ded 5

最好的方法是尝试解决在评估中获取的所有数据的所有问题。你可以这样做:

const getImgSrc = await page.$eval('#ldpGallery', el =>
    Array.from(el.getElementsByTagName('img')).map(e => e.getAttribute("data-src")));
console.log(getImgSrc);
Run Code Online (Sandbox Code Playgroud)