CAPSOLVER
ブログ
reCAPTCHA v2をPuppeteerを使用してCapsolver拡張機能で解決する方法

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 サイトキーまたはトークンが無効? 原因と解決策ガイド
reCAPTCHA 無効なサイトキーまたはトークン? 原因と解決方法のガイド

「reCAPTCHA 無効なサイトキー」や「無効なreCAPTCHAトークン」のエラーに直面していますか?一般的な原因、ステップバイステップの修正手順、トラブルシューティングのヒントを確認してください。reCAPTCHAの検証失敗の問題を解決する。reCAPTCHAの検証失敗を修正する方法を学びましょう。もう一度試してください。

reCAPTCHA
Logo of CapSolver

Aloísio Vítor

16-Apr-2026

reCAPTCHA v2の解決方法 PythonとAPI
reCAPTCHA v2を解く方法 PythonとAPI

PythonとAPIを使用してreCAPTCHA v2を解決する方法を学びましょう。この包括的なガイドでは、プロキシとプロキシレスな方法をカバーし、自動化に使用可能な本番環境対応のコードを提供しています。

reCAPTCHA
Logo of CapSolver

Rajinder Singh

25-Mar-2026

AIベンチマーキングプラットフォーム向けreCAPTCHAの自動化解決方法
AIベンチマーキングプラットフォーム向けにreCAPTCHAの解決を自動化する方法

AIのベンチマーキングのためにreCAPTCHA v2とv3を自動化する方法を学んでください。CapSolverを使用して、データ収集を効率化し、高パフォーマンスなAIパイプラインを維持してください。

reCAPTCHA
Logo of CapSolver

Nikolai Smirnov

28-Feb-2026

ウェブスクレイピングにおけるリカプチャの一般的な問題の解決方法
ウェブスクレイピングでの一般的なreCAPTCHAの問題の解決方法

ウェブスクレイピングにおける一般的なreCAPTCHAの問題の修正方法を学びましょう。reCAPTCHA v2およびv3の実用的な解決策を発見し、シームレスなデータ収集ワークフローを維持してください。

reCAPTCHA
Logo of CapSolver

Emma Foster

13-Feb-2026

無制限のキャプチャを最高のキャプチャソルバーで解く
無制限のキャプチャを最高のキャプチャソルバーで解く

最高のキャプチャソルバーを使って、無制限のキャプチャをスムーズに解く方法を学び、キャプチャ解決の設定と自動化を効果的にするための詳細なガイド

reCAPTCHA
Logo of CapSolver

Sora Fujimoto

20-Jan-2026

最適なreCAPTCHAソルバー2026 オートメーション & ウェブスクラピング向け
最高のreCAPTCHAソルバー 2026 オートメーション & ウェブスクレイピング用

2026年のオートメーションやウェブスクレイピングに最適なreCAPTCHAソルバーを発見する。それらがどのように機能するかを学び、適切なものを選んで、ボット検出を先んじる。

reCAPTCHA
Logo of CapSolver

Emma Foster

15-Jan-2026