


Puppeteer is commonly used to automate testing, archive webpage data, and generate screenshots of live web content. Recent releases also include Firefox support. Specifies wether it allows downloading multiple files or notĪwait page. Puppeteer is a Node.js library which lets you interact with the Chrome web browser. To skip the download, see Environment variables.

My question is, is there a way to wait for a download to complete using Node+Puppeteer? I have tried using waitUntil: 'networkidle0 and networkidle2 but both seem to wait forever.Ĭode below: const path = require('path') Ĭonst browser = await puppeteer.launch() To use Puppeteer in your project, run: npm i puppeteer or 'yarn add puppeteer' Note: When you install Puppeteer, it downloads a recent version of Chromium (170MB Mac, 282MB Linux, 280MB Win) that is guaranteed to work with the API. I have a script made using node.js and puppeteer which downloads a file from a button (which doesn't redirect to a url), so right now i'm using await await page.waitForTimeout(1000) to wait for the download to complete but it has a few flaws, such as:ĭepending on the connection, the download might take more than 1000ms to finish, as well as it might take less, which wouldn't make sense to wait more than what took to finish the download.
