puppeteerで取得できるcookieのexpiresの単位

puppeteerで取得できるcookieのexpiresはUNIX時間を表しています。単位は秒です。

JavaScriptのDateインスタンスのgetTimeメソッド((new Date()).getTime())はUNIX時間をミリ秒で取得します。そのため、puppeteerで取得したcookieのexpiresの期限を知りたい時や、setCookie()でexpiresをセットしたい時は変換しなければいけません。

以下はgoogle.comのcookieの一部です。

[
  {
    name: '1P_JAR',
    value: '2020-5-23-8',
    domain: '.google.com',
    path: '/',
    expires: 1592816050,
    size: 17,
    httpOnly: false,
    secure: true,
    session: false
  }
]

このcookieのexpiresの期限を知りたい時は以下のようなコードを書きます。expiresをミリ秒に変換してDateコンストラクタの引数に渡しています。

const cookies = await page.cookies();
const date = new Date(cookies[0].expires * 1000);
console.log(date);

getTime()を使ってexpiresをセットするときは / 1000をします。以下のコードは1日後の秒単位のUNIX時間です。

const date = new Date();
const expires = (date.getTime() + 1000 * 60 * 60 * 24) / 1000;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です