CAPSOLVER
ブログ
リカプチャバージョン2をパペットイーターとキャプソルバーのライブラリで解決する方法

reCaptcha v2 を Puppeteer [JavaScript] で解決する方法 と Capsolver Extension

Logo of CapSolver

Nikolai Smirnov

Software Development Lead

29-Dec-2025

はじめに

ブラウザ操作の自動化には、特にPuppeteerのようなツールを使用する際、CAPTCHAチャレンジを処理する必要がある場合があります。このガイドでは、Puppeteer JSとCapSolverブラウザ拡張機能を組み合わせてreCAPTCHA v2を効率的に解決する方法について説明します。このチュートリアルではreCAPTCHA v2に焦点を当てていますが、CapSolverがサポートする他のCAPTCHAタイプにも同様のアプローチを拡張できます。

この記事の最後まで読み進めると、必要な依存関係のインストール方法、CapSolver拡張機能の設定方法、そしてPuppeteer制御のブラウザセッション内でCAPTCHAの解決を直接トリガーする方法がわかります。

1. puppeteerコンポーネントのインストール

⚠️ このブログでは、CapSolver拡張機能とPuppeteer JSを組み合わせてreCAPTCHA v2を解決する方法を説明します。ただし、このアプローチは他のCAPTCHAタイプにも適用できます。

Copy
npm i puppeteer puppeteer-extra puppeteer-extra-plugin-stealth

2. 拡張機能の設定

アーカイブをダウンロードし、プロジェクトのルートにあるフォルダ./CapSolver.Browser.Extensionに解凍してください。

拡張機能には、自動CAPTCHA解決、プロキシサポート、細かい制御オプションなど、多くの設定があります。これらの設定はファイル./assets/config.jsonにあります。

これらの設定は次の通りです:

json Copy
{
    "apiKey": "YourApiKey",
    "useCapsolver": true,

    "useProxy": false,
    "proxyType": "http",
    "hostOrIp": "",
    "port": "",
    "proxyLogin": "",
    "proxyPassword": "",

    "enabledForBlacklistControl": false,
    "blackUrlList": [],

    "enabledForRecaptcha": true,
    "enabledForRecaptchaV3": true,
    "enabledForcaptcha": true,

    "reCaptchaMode": "token",
    "captchaMode": "click",

    "reCaptchaDelayTime": 0,
    "captchaDelayTime": 0,

    "reCaptchaRepeatTimes": 10,
    "reCaptcha3RepeatTimes": 10,
    "captchaRepeatTimes": 10
}

拡張機能の設定ファイル./assets/config.jsonにAPIキーを入力してください。このキーはapiKeyフィールドに割り当てる必要があります。CapSolverダッシュボードから直接APIキーをコピーできます。

例:

Copy
apiKey: "CAP-4FDBD3SDFSD-23S-2-3"

この例では、reCaptchaModetokenに設定されています。clickモードも利用可能ですが、reCAPTCHAでは通常tokenモードが推奨されます。

3. CapSolver拡張機能を使用してreCAPTCHAを解決するPuppeteerの設定

Copy
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
const { executablePath } = require('puppeteer'); 

(async () => {
  const pathToExtension = require('path').join(__dirname, 'CapSolver.Browser.Extension');
  puppeteer.use(StealthPlugin())
  const browser = await puppeteer.launch({
    headless: false,
    args: [
      `--disable-extensions-except=${pathToExtension}`,
      `--load-extension=${pathToExtension}`,
    ],
    executablePath: executablePath()
  });
  
  const [page] = await browser.pages()
})();

次に、ページhttps://www.google.com/recaptcha/api2/demoを開き、CAPTCHAをCapSolverに送信します。
page.goto()を使用してターゲットページに移動します。CAPTCHAは自動的または手動的に解決できます。
この例では、CAPTCHAのチェックボックスを待ってクリックすることで手動でトリガーします。

js Copy
await page.goto('https://site.example') 

// CSSセレクタ "#recaptcha-anchor-label" を持つ要素を待つ
await page.waitForSelector('#recaptcha-anchor-label')
// 要素をクリック
await page.click('#recaptcha-anchor-label')

完全なコード

js Copy
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
const { executablePath } = require('puppeteer'); 

(async () => {
  const pathToExtension = require('path').join(__dirname, 'CapSolver.Browser.Extension');
  puppeteer.use(StealthPlugin())
  const browser = await puppeteer.launch({
    headless: false,
    args: [
      `--disable-extensions-except=${pathToExtension}`,
      `--load-extension=${pathToExtension}`,
    ],
    executablePath: executablePath()
  });
  
  const [page] = await browser.pages()

  // ページを開く
  await page.goto('https://site.example') 

  // CSSセレクタ "#recaptcha-anchor-label" を持つ要素を待つ
  await page.waitForSelector('#recaptcha-anchor-label')
  // 要素をクリック
  await page.click('#recaptcha-anchor-label')
})();

結論

PuppeteerとCapSolverブラウザ拡張機能を使用してreCAPTCHA v2を成功裏に解決しました。この設定は、実際のブラウザ環境内でCAPTCHAチャレンジを直接処理するための柔軟でスケーラブルな方法を提供します。拡張機能の設定を調整することで、CapSolverがサポートする他のCAPTCHAタイプにも同じワークフローを再利用できます。これはテスト、自動化、大規模なブラウザベースのタスクに適しています。

よくある質問(FAQ)

1. ヘッドレスモードでこの方法を使用できますか?
CapSolverブラウザ拡張機能は表示可能なブラウザ環境を必要とします。そのため、拡張機能を用いる場合はheadless: falseが推奨されます。

2. この設定はreCAPTCHA v2以外のCAPTCHAタイプで動作しますか?
はい。CapSolver拡張機能は複数のCAPTCHAタイプをサポートしています。config.jsonファイルで特定のCAPTCHAソルバーを有効または無効にし、ワークフローをそれに応じて調整できます。

3. CapSolver拡張機能を使用する際にプロキシは必要ですか?
プロキシはオプションです。拡張機能はプロキシ設定をサポートしていますが、多くのユースケースでは必要ありません。プロキシの使用は、ターゲットのウェブサイトや自動化の要件によります。

4. reCAPTCHAのtokenモードとclickモードの違いは何ですか?
tokenモードはCAPTCHAの解決をプログラム的に取得し、自動化において一般的に安定しています。clickモードはCAPTCHAのチェックボックスに対するユーザー操作をシミュレートします。

5. この設定は本番環境で使用できますか?
はい。適切な設定、エラーハンドリング、スケーリングの考慮を施せば、このアプローチは本番環境向けのブラウザ自動化ワークフローに統合できます。

コンプライアンス免責事項: このブログで提供される情報は、情報提供のみを目的としています。CapSolverは、すべての適用される法律および規制の遵守に努めています。CapSolverネットワークの不法、詐欺、または悪用の目的での使用は厳格に禁止され、調査されます。私たちのキャプチャ解決ソリューションは、公共データのクローリング中にキャプチャの問題を解決する際に100%のコンプライアンスを確保しながら、ユーザーエクスペリエンスを向上させます。私たちは、サービスの責任ある使用を奨励します。詳細については、サービス利用規約およびプライバシーポリシーをご覧ください。

もっと見る

reCaptcha v3 Enterpriseを回避する方法
reCaptcha v3 Enterpriseの解決方法

CapSolverを使用して、reCAPTCHA v3 Enterpriseを簡単に解く方法を学びましょう。あなたの鍵は、複雑なCAPTCHAを扱うための高度なリスク分析とシームレスな統合を備えています。

reCAPTCHA
Logo of CapSolver

Lucas Mitchell

30-Dec-2025

Puppeteerを使用してCapsolver拡張機能でreCaptcha v2を解決する方法
reCaptcha v2 を Puppeteer [JavaScript] で解決する方法 と Capsolver Extension

PuppeteerとCapsolver拡張機能を用いてreCaptcha v2をスムーズに解決する方法を学び、キャプチャ解決の設定と自動化に関する詳細なガイド

reCAPTCHA
Logo of CapSolver

Nikolai Smirnov

29-Dec-2025

reCAPTCHAのさまざまな種類を識別する方法
さまざまなreCAPTCHAタイプの識別方法

reCAPTCHAの世界を探索する:オリジナルからエンタープライズバージョンまでの種類を識別する方法を学び、ウェブセキュリティおよびユーザー体験への影響を理解する

reCAPTCHA
Logo of CapSolver

Anh Tuan

26-Dec-2025

reCaptcha v2を解決する
CapSolver APIを使用したreCaptcha v2の解決

このステップバイステップガイドを使用して、CapSolver APIでreCaptcha V2を簡単に解決できます。PythonとGoの両方のソリューションを提供しています。迅速かつ効果的なCAPTCHA解決方法を求めるユーザーにとって理想的です。

reCAPTCHA
Logo of CapSolver

Adélia Cruz

25-Dec-2025

reCaptcha v2をNode.JSで解決する方法
Node.JSでreCaptcha v2を解決する方法

reCAPTCHA v2をNode.jsを用いてCapSolverで解く方法を学びましょう。プロキシーなしおよびプロキシーを介した例、セットアップ手順、およびベストプラクティスを含みます。

reCAPTCHA
Logo of CapSolver

Ethan Collins

17-Dec-2025

reCAPTCHA v2
キャプチャを正しく入力する方法と、reCAPTCHA v2 サイトキーを識別する方法

ReCAPTCHA v2のサイトキーを特定することは、現代のCAPTCHA実装において一般的な課題です。この記事では、サイトキーが重要な理由、手動で特定するのが難しい理由、そしてCAPTCHA認識サービスがプロセスをどのように簡略化するかについて説明します。また、ReCAPTCHA v2のパラメータを自動検出し、構造化された結果を返すCapSolverのChrome拡張機能を紹介し、CAPTCHA対応のウェブサイトで作業を効率化するのを支援します。

reCAPTCHA
Logo of CapSolver

Ethan Collins

16-Dec-2025