Puppeteer 在网站加载前被验证码捕获

问题描述 投票:0回答:2

我正在使用 puppeteer 来查看汽车经销商,我遇到了很多经销商,他们立即对我进行验证码标记。我可以像平常一样使用 chrome 完美地导航到这些网站,但是当我运行我的代码时它会捕获它。有什么想法吗?以下是其中一个网站的示例:www.vandamautoinc.com

node.js puppeteer recaptcha
2个回答
1
投票

你最好的运气就是这个 npm 插件:https://www.npmjs.com/package/puppeteer-extra-plugin-stealth

puppeteer-extra 的插件,用于防止检测。


0
投票

虽然上面Gilles提供的解决方案只是一种措施。您还可以尝试更多解决方案,例如

  1. fingerprint-injector

    的帮助下使用/更改用户代理
  2. 使用 2Captcha 来解决验证码出现的情况,为此,您还可以使用插件

    puppeteer-extra-plugin-recaptcha
    。为这个实现添加一个小片段作为文档中的一个对我来说不起作用

    initialize recaptcha plugin similar to how in docs
    puppeteer.use(
      RecaptchaPlugin({
        provider: {
        id: "2captcha",
        token: "2CAPTCHA API KEY",
      },
      visualFeedback: true,
    }));
    

现在在验证码屏幕出现的地方添加以下代码

for (const frame of page.mainFrame().childFrames()) {
  // Attempt to solve any potential captchas in those frames
  const { captchas, filtered, solutions, solved, error } =
  await frame.solveRecaptchas();

  console.log(solved);
}
© www.soinside.com 2019 - 2024. All rights reserved.