Как передать папку профиля userDataDir в Puppeteer

Я хочу передать кастомный профиль в Puppeteer. Для начала я попытался передать свой настоящий профиль Google Chrome:

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

но когда браузер открывается, если я перехожу в настройки, он показывает Person 1, а не данные из моего профиля Google Chrome

Указанный выше путь userDataDir - это то, что показано в Profile Path, когда в Google Chrome я захожу на chrome://version (где [USERDATA] - мое имя пользователя)

Я пробовал также userDataDir: '~ / Library / Application Support / Google / Chrome / Default'

Я использую
Puppeteer 0.11.0
Node 8.4.0
NPM 5.2.0
macOS El Capitan 10.11.6
MacBook Pro Retina, 15 дюймов, середина 2015 г.


person Giorgio    schedule 24.10.2017    source источник


Ответы (1)


Использование относительного пути сработало. Путь указывается относительно папки, в которой вы выполняете команду cli, запускающую javascript, который использует puppeteer:

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

person Giorgio    schedule 24.10.2017
comment
Я попробовал решение, которое дает следующую ошибку [9665: 775: 0117 / 220533.630257: ERROR: browser_dm_token_storage_mac.mm (153)] Ошибка при получении серийного номера машины. - person ifelse.codes; 17.01.2019
comment
это не сработало! это все еще создает новый временный профиль. - person Code Cooker; 29.04.2020
comment
попробуйте поиграть с path.resolve (__ dirname, './myUserDataDir') - person Giorgio; 29.04.2020