
How to pass userDataDir profile folder to Puppeteer The first time you run the above code, you will have to comment out the fs.readFile to fs.writeFile as the UserDirDirectory is created if it does not exist the first time that Chrome is started.Īll profile related data is then stored in the customChrome/Default folder. Essentially, Puppeteer creates a custom profile each time it runs, we can override that profile and define the download directory.

This will set the default download directory for files before the process starts. _directory = path.resolve(_dirname, './downloads') įs.writeFileSync(customChrome+'/Default/Preferences', JSON.stringify(obj)) Īrgs: _directory = path.resolve(_dirname, './downloads') Let prefs = fs.readFileSync(customChrome+'/Default/Preferences') I was able to set the download location using the following code, let customChrome = path.resolve(_dirname, './customChrome')

I realize this is an old thread, but this thread popped up first for me when looking for how to set Puppeteer default download location.
