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
Logo of CapSolver

Sora Fujimoto

20-Jan-2026

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

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

reCAPTCHA
Logo of CapSolver

Emma Foster

15-Jan-2026

reCAPTCHAの解き方 C++で: 完全ガイド
reCAPTCHAの解き方 C++で: 完全ガイド

reCAPTCHAをC++で解く方法を学びましょう。CapSolver APIを使用して、プロジェクトの設定、タスクの作成、および実践的な例を用いてタスク結果を取得する方法をカバーした完全なガイドです。

reCAPTCHA
Logo of CapSolver

Ethan Collins

14-Jan-2026

リカプチャをNode.jsで解く方法 | 2024年のガイド
reCAPTCHAをNode.jsで解く方法|2026年のガイド

このガイドでは、Node.jsと解決ツールを使用して、reCAPTCHA v2とv3を簡単に解決する方法を学びます。今日から自動化のスキルを向上させましょう!

reCAPTCHA
Logo of CapSolver

Aloísio Vítor

05-Jan-2026

reCAPTCHA v2 の解決を自動化するチュートリアル: CapSolver で
reCAPTCHA v2の解決を自動化する:CapSolverを使ったチュートリアル

CapSolverを使って、reCAPTCHA v2を簡単に自動化する方法を確認してみましょう

reCAPTCHA
Logo of CapSolver

Aloísio Vítor

05-Jan-2026

パペットリー レカプチャソルバー: 細かいガイド
パペットゥイア reCAPTCHA ソルバー: 完全なガイド

パペットリヤーをreCAPTCHAソルバーとして使用する方法と、ワークフローに統合するためのさまざまな方法について探っていきます。

reCAPTCHA
Logo of CapSolver

Sora Fujimoto

04-Jan-2026