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

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タイプにも適用できます。
npm i puppeteer puppeteer-extra puppeteer-extra-plugin-stealth
2. 拡張機能の設定
アーカイブをダウンロードし、プロジェクトのルートにあるフォルダ./CapSolver.Browser.Extensionに解凍してください。
拡張機能には、自動CAPTCHA解決、プロキシサポート、細かい制御オプションなど、多くの設定があります。これらの設定はファイル./assets/config.jsonにあります。
これらの設定は次の通りです:
json
{
"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キーをコピーできます。
例:
apiKey: "CAP-4FDBD3SDFSD-23S-2-3"
この例では、reCaptchaModeがtokenに設定されています。clickモードも利用可能ですが、reCAPTCHAでは通常tokenモードが推奨されます。
3. CapSolver拡張機能を使用してreCAPTCHAを解決するPuppeteerの設定
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
await page.goto('https://site.example')
// CSSセレクタ "#recaptcha-anchor-label" を持つ要素を待つ
await page.waitForSelector('#recaptcha-anchor-label')
// 要素をクリック
await page.click('#recaptcha-anchor-label')
完全なコード
js
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の解決方法
CapSolverを使用して、reCAPTCHA v3 Enterpriseを簡単に解く方法を学びましょう。あなたの鍵は、複雑なCAPTCHAを扱うための高度なリスク分析とシームレスな統合を備えています。

Lucas Mitchell
30-Dec-2025

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

Nikolai Smirnov
29-Dec-2025

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

Anh Tuan
26-Dec-2025

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

Adélia Cruz
25-Dec-2025

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

Ethan Collins
17-Dec-2025

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

Ethan Collins
16-Dec-2025

