'Disabling "Save As" prompt while automating in Puppeteer JS

I am automating some image downloads using puppeteer Js. While I am triggering the download button it shows the save As prompt window. is there any way to disable it or accept it using puppeteer?

Save as Prompt



Solution 1:[1]

Check the below code.

Before clicking the Download Button, We can set the Download Behaviour of the Client when launching the Browser Instance. This way you don't have to click on the Save As button.

  await page._client.send("Page.setDownloadBehavior", {
    behavior: "allow",
    downloadPath: downloadPath,
  });

Here is the Complete code:

const puppeteer = require("puppeteer");
const path = require("path");
const downloadPath = path.resolve("./download");

async function fileDownload() {
  const browser = await puppeteer.launch({
    headless: false,
  });

  const page = await browser.newPage();
  await page.goto("https://unsplash.com/photos/_jHJce5uI7I", {
    waitUntil: "networkidle2",
  });

  await page._client.send("Page.setDownloadBehavior", {
    behavior: "allow",
    downloadPath: downloadPath,
  });
  await page.click(".wl5gA ");
}

fileDownload();

It creates a directory called download based on the path I have given.

enter image description here

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Dharman