Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to pass userDataDir profile folder to Puppeteer

I want to pass a custom profile to Puppeteer. To start I've tried to pass my real Google Chrome profile:

const browser = await puppeteer.launch({
  userDataDir: '/Users/[USERNAME]/Library/Application Support/Google/Chrome/Default',
  headless: false,
  slowMo: 250,
  ...
}

but when the browser opens if I go to Settings it shows Person 1 rather than the data from my Google Chrome profile

The userDataDir path above is what is shown in Profile Path when on Google Chrome I visit chrome://version (where [USERDATA] is my username)

I've tried also userDataDir: '~/Library/Application Support/Google/Chrome/Default'

I'm using
Puppeteer 0.11.0
Node 8.4.0
NPM 5.2.0
macOS El Capitan 10.11.6
MacBook Pro Retina, 15-inch, Mid 2015

like image 444
Giorgio Avatar asked Oct 24 '17 10:10

Giorgio


1 Answers

Using a relative path worked. The path is relative to the folder where you are executing the cli command running the javascript that uses puppeteer:

puppeteer.launch({ userDataDir: './myUserDataDir', })

like image 169
Giorgio Avatar answered Sep 23 '22 02:09

Giorgio