Я видел некоторые проблемы на Github с методом page.setCookie(...cookies)
.
Мне было интересно, сможет ли кто-нибудь сохранить файл cookie с помощью этого метода. Я уже видел обходные пути (но это не мой вопрос)
В этом коде я просто устанавливаю cookie, а затем перезагружаю страницу. С перезагрузкой страницы куки больше нет. Я пытался удалить expires, установить его на 0, 1, -1 или на метку времени Unix в будущем .... Не работает
const puppeteer = require('puppeteer');
const OPT = {
headless: false,
args: ['--no-sandbox', '--disable-setuid-sandbox', '--user-data-dir']
};
const COOKS =
[ { name: 'tdsess',
value: 'TEST_DRIVE_SESSION',
domain: 'testing-ground.scraping.pro',
path: '/',
expires: -1,
size: 24,
httpOnly: false,
secure: false,
session: true } ];
(async () => {
const URL = `http://testing-ground.scraping.pro/login`
const browser = await puppeteer.launch(OPT)
const page = await browser.newPage()
await page.goto(URL, { 'waitUntil' : 'networkidle2' })
await page.setCookie(...COOKS)
let cook = await page.cookies()
console.log(`==== first login ====`)
console.log(cook)
console.log(`==================`)
await page.reload()
console.log(`after reload`)
setInterval(async () => {
cook = await page.cookies()
console.log(cook)
}, 3000)
})()
Будет выведено:
==== first login ====
[ { name: 'tdsess',
value: 'TEST_DRIVE_SESSION',
domain: 'testing-ground.scraping.pro',
path: '/',
expires: -1,
size: 24,
httpOnly: false,
secure: false,
session: true } ]
==================
after reload
[]
[]
Версии, которые я использовал:
* Кукольник 1.7.0 * Узлы 10.8.0 *