木偶中的页面cookie不适用于保持登录 [英] page cookies in puppeteer not work for keep login

查看:28
本文介绍了木偶中的页面cookie不适用于保持登录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要在https://web.whatsapp.com上制作Web刮板 向我的客户发送消息 我想保存我的登录信息以备下次使用,这样就不需要重新扫描二维码了 我知道我必须保存cookie以备下次使用。 扫描QR并登录到我的帐户后,我在Google Chrome开发工具、应用程序选项卡和Cookie部分看到Cookie,但page.cookie为空并返回[] 我尝试使用示例代码将cookie存储在文件中。运行代码后,mycookie.json创建,[]在。

如何才能做到这一点?

const puppeteer = require('puppeteer');
const jsonfile = require('jsonfile');
(async () => {
    const browser = await puppeteer.launch({
        headless: false,
        args: ['--start-maximized']
    });
    const page = await browser.newPage();
    await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36');
    await page.setViewport({ width: 1280, height: 800 });
    await page.goto('https://web.whatsapp.com/', {waitUntil: 'networkidle0'});
    await page.setViewport({
        width: 1440,
        height: 900
    });
    await page.waitFor(10000);//wait for scan qr
    console.log(await page.cookies());

    // Save Session Cookies
    var cookiesFilePath = 'mycookie.json';
    const cookiesObject = await page.cookies();
    // Write cookies to temp file to be used in other profile pages
    jsonfile.writeFile(cookiesFilePath, cookiesObject, { spaces: 2 },
     function(err) { 
      if (err) {
      console.log('The file could not be written.', err)
      }
      console.log('Session has been successfully saved')
    })
})();

推荐答案

如果使用userDataDir,则不会丢失浏览器数据。 即使您获得的Cookie数据对您没有帮助,因为Web WhatsApp也使用本地存储

示例

const browser = await puppeteer.launch({
     headless: false,
     args: ['--start-maximized'],
     userDataDir: '<PATH>' // './cache' for example   
});

PATH变量中定义的目录必须存在!

参考资料 https://github.com/GoogleChrome/puppeteer/blob/v1.20.0/docs/api.md#puppeteerdefaultargsoptions
https://docs.browserless.io/blog/2019/05/03/improving-puppeteer-performance.html#launch-with-a-user-data-dir
https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md

这篇关于木偶中的页面cookie不适用于保持登录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆