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;