目前,我有以下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]。我知道数据在那里。我在做什么错了?
答案 0 :(得分:0)
似乎您只是用箭头函数格式输入了一个错字:.map(img => {img.getAttribute('data-src')})
将用undefined
填充所有数组,因为带有箭头的主体在花括号中而没有retutn
会隐式返回{ {1}}。然后undefined
被序列化为undefined
,您得到null
。只需删除大括号或添加明确的[null]
。
顺便说一句,您不需要retutn
作为id选择器,它返回的数组只有一个元素。 page.$$eval()
可以满足要求:
page.$eval()