使用Google Puppeteer 获取和设置Cookies

31 min read

Google Puppeteer 是一个 Node.js 库,用于对 Chrome 或 Chromium 进行自动化控制,其中包括获取和设置 Cookies。

获取 Cookies:

const puppeteer = require('puppeteer');

(async() => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://www.example.com');
  const cookies = await page.cookies();
  console.log(cookies);
  await browser.close();
})();

设置 Cookies:

const puppeteer = require('puppeteer');

(async() => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://www.example.com');
  await page.setCookie({
    name: 'name',
    value: 'value',
    domain: 'www.example.com',
    path: '/',
    expires: Date.now() / 1000 + 10,
    httpOnly: true,
  });
  await page.goto('https://www.example.com'); // 验证 Cookies 是否设置成功
  const cookies = await page.cookies();
  console.log(cookies);
  await browser.close();
})();

以上代码将在浏览器中设置一个名为 name 的 Cookie,有效期为 10 秒,并验证是否设置成功。