Для сохранения файлов cookie вы можете использовать функцию page.cookies
. Для повторного использования файлов cookie вы можете использовать функцию page.setCookies
.
Сохранить куки на диск
const fs = require('fs').promises;
// ... puppeteer code
const cookies = await page.cookies();
fs.writeFileSync('./cookies.json', JSON.stringify(cookies, null, 2));
Это будет считывать куки для текущего URL и сохранять их на диск через JSON.stringify
и fs.writeFile
.
Повторное использование куки
const fs = require('fs').promises;
// ... puppeteer code
const cookiesString = await fs.readFile('./cookies.json');
const cookies = JSON.parse(cookiesString);
await page.setCookie.apply(page, cookies);
Чтобы повторно использовать куки, прочитайте файлы с диска через fs.readFile
. Затем проанализируйте содержимое файла с помощью JSON.parse
. После этого вам нужно вызвать функцию page.setCookie
. Поскольку функция ожидает файлы cookie в качестве аргументов (а не как один аргумент массива с файлами cookie), мы полагаемся на метод apply
, который вызывает функцию setCookie
с this
, указывающим на page
(первые аргументы) и с указанным cookies
аргументом в качестве аргументов.