【问题标题】:Puppeteer bypass recaptcha and fetch all cookies in headless modePuppeteer 绕过 recaptcha 并以无头模式获取所有 cookie
【发布时间】:2019-10-09 08:36:15
【问题描述】:
const puppeteer = require('puppeteer');
(async () => {
    const browser = await puppeteer.launch({args: ['--no-sandbox']});
    const page = await browser.newPage();

    try {
        await page.goto('https://www.allabout*****.org', {waitUntil: 'networkidle2'}); // 59 second - load - domcontentloaded - networkidle2
        const cookies = await page._client.send('Network.getAllCookies');
        JSON.stringify(cookies, null, 4);

    } catch (e) {

    }
    await browser.close();
})();

尝试使用上述代码获取所有 cookie,但在接受验证码之前只需要 cookie。在接受验证码后,它会设置未进入 cookie 列表的 cookie。 如何在无头模式下使用 puppeteer 转义验证码 (headless: true)?

尝试了不同的独立节点模块,puppeteer helpers,没有任何效果。

【问题讨论】:

  • @tokland - 请你看看这个

标签: cookies puppeteer headless-browser cookieyes cookieserve


【解决方案1】:

我刚刚尝试了您的代码,发现您使用了{waitUntil: "load"}。我只是用{waitUntil: "networkidle2"} 替换了它并删除了超时(仍然使用headless:true),它向我展示了cookie 列表中的CookieScriptConsent

【讨论】:

  • 请查看screenshot,它不起作用
  • 我再次尝试尝试 puppeteer。看看这个截图i.imgur.com/ARLYuu2.png
  • 但它在我的演示服务器中不起作用。 (完全相同的代码)。在验证验证码后,这些 cookie 将被设置。因此,Cloudflare 方面可能需要一些白名单,因为这是一个 Cloudflare 托管的网站。不过谢谢
  • 在 localhost 中配置了 try-puppeteer - 然后它不起作用(不绕过验证码)
  • 如果您不绕过验证码,那么您将无法获得我认为的“CookieScriptConsent”。
猜你喜欢
  • 1970-01-01
  • 2021-01-26
  • 1970-01-01
  • 2022-06-16
  • 2020-05-13
  • 2020-02-06
  • 1970-01-01
  • 2018-04-03
  • 2021-06-04
相关资源
最近更新 更多