Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用NodeJS/puppeter下载多个图像_Node.js_Puppeteer - Fatal编程技术网

Node.js 使用NodeJS/puppeter下载多个图像

Node.js 使用NodeJS/puppeter下载多个图像,node.js,puppeteer,Node.js,Puppeteer,我用木偶演员从网站上下载图像。目前,它可以很好地处理单个图像,但我需要它来处理div.item-wrapper中的所有图像。如何做到这一点 let imagefile = await page.evaluate(async () => { let imagefile try { imagefile = document.querySelector('div.item-wrapper img').src } catch(e) { ima

我用木偶演员从网站上下载图像。目前,它可以很好地处理单个图像,但我需要它来处理div.item-wrapper中的所有图像。如何做到这一点

let imagefile = await page.evaluate(async () => {
    let imagefile
    try {
        imagefile = document.querySelector('div.item-wrapper img').src
    } catch(e) {
        imagefile = null
    }

    return imagefile
})

您可以尝试以下方法:

let imagefiles=wait page.evaluate(()=>
Array.from(
document.querySelectorAll('div.item-wrapper-img'),
img=>img.src
)
);
for(图像文件的常量图像文件){
const imagefileDL=wait page.goto(imagefile);
fs.writeFile(“./uploads/”+imagefile.replace(/^.*[\\/]/,”),wait-imagefileDL.buffer(),函数(err){
如果(错误){
返回console.log(err);
}
log(“文件已保存!”);
});
}
Research:1)如何从DOM中获取多个元素2)获取这些URL 3)然后使用这些URL,执行以下操作:
var imagefileDL = await page.goto(imagefile);
fs.writeFile('./uploads/' + imagefile.replace(/^.*[\\\/]/, ''), await imagefileDL.buffer(), function(err) {
    if(err) {
        return console.log(err);
    }

    console.log("The file was saved!");
});