CAPSOLVER
博客
如何使用Selenium [Python]和Capsolver扩展解决reCaptcha v2

如何使用 Selenium [Python] 配合 CapSolver 扩展程序解决 reCAPTCHA V2

Logo of CapSolver

Ethan Collins

Pattern Recognition Specialist

05-Nov-2025


在自动化测试和数据抓取领域,验证码无疑是最大的障碍之一。特别是谷歌的reCaptcha v2,往往对许多自动化工具来说都过于复杂。

然而,借助CapSolver浏览器扩展和强大的Selenium库,解决这个问题变得简单直接。本文详细介绍了如何将CapSolver扩展集成到PythonSelenium项目中,以实现reCaptcha v2的自动识别和绕过。


为什么选择CapSolver + Selenium组合?

开发人员在处理验证码时通常面临多种选择。以下是CapSolver扩展相比传统方法的优势:

特性 CapSolver浏览器扩展 传统图像识别/机器学习解决方案 纯API解决方案
集成难度 极低。只需加载扩展;无需修改核心业务逻辑。 极高。需要大量数据进行模型训练,维护成本高。 中等。需要手动解析网站参数(sitekeyurl)并注入结果。
适用范围 适用于多种类型,包括reCaptcha v2/v3、AWS WAF、Cloudflare Turnstile和挑战等。 仅限特定验证码类型;通用性差。 适用于多种类型,但需要为每种类型编写不同的解析逻辑。
自动化程度 完全自动。扩展在后台自动检测并解决验证码。 半自动。需要额外代码进行截图、调用模型和注入结果。 半自动。需要代码获取参数、调用CapSolver API并注入结果。
反爬虫风险 。模拟真实用户浏览器行为,不易被检测到。 。行为模式可能过于机械,容易被反爬虫机制标记。 中等。令牌注入相对安全,但仍需处理浏览器指纹问题。

CapSolver扩展的优势在于其无缝集成全自动解决能力,大大简化了在Selenium自动化流程中处理验证码的复杂性。


1. 环境设置:安装Selenium和浏览器驱动

首先,确保Selenium库已安装在您的Python环境中。

bash 复制代码
pip install selenium

此外,您还需要为所选浏览器下载并配置相应的驱动(例如,Chrome使用ChromeDriver,Firefox使用GeckoDriver)。请确保驱动版本与浏览器版本兼容。

2. 配置CapSolver浏览器扩展

CapSolver扩展是实现自动解码的关键。

步骤2.1:下载并解压扩展

CapSolver GitHub仓库下载最新版本的扩展文件,并将其解压到项目根目录下的./CapSolver.Browser.Extension文件夹中。

步骤2.2:设置API密钥

扩展的核心配置文件位于./CapSolver.Browser.Extension/assets/config.json中,您需要在此处输入您的CapSolver API密钥。

提示: 您可以在CapSolver用户仪表板上找到您的API密钥。

json 复制代码
{
  "apiKey": "您的CapSolver API密钥",
  "useCapsolver": true,
  "useProxy": false,
  // ...其他配置项
  "enabledForRecaptcha": true,
  "reCaptchaMode": "token"
  // ...
}

您可以根据需要调整其他配置,例如启用代理(useProxy)或更改reCaptcha的解决模式(reCaptchaMode)。CapSolver官方文档提供了更详细的配置说明;我们建议参考CapSolver开发者设置指南

3. 编写Selenium自动化代码

现在,我们将编写Python代码来启动Selenium并加载CapSolver扩展。

步骤3.1:加载扩展

在启动ChromeDriver时,我们需要使用add_argument方法加载扩展的路径。

python 复制代码
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

def solve_recaptcha_with_capsolver():
    # 1. 获取扩展的绝对路径
    # 确保路径正确指向您解压的CapSolver.Browser.Extension文件夹
    extension_path = os.path.abspath('./CapSolver.Browser.Extension')
    
    # 2. 配置Chrome选项
    chrome_options = Options()
    # 关键步骤:加载CapSolver扩展
    chrome_options.add_argument(f'--load-extension={extension_path}')
    
    # 3. 启动WebDriver
    # 确保您的ChromeDriver路径已添加到系统环境变量中
    driver = webdriver.Chrome(options=chrome_options)
    
    # 4. 导航到reCaptcha演示页面
    # 这里我们使用官方的Google reCaptcha v2演示页面进行测试
    driver.get('https://www.google.com/recaptcha/api2/demo')

    print("浏览器已启动。CapSolver扩展正在后台自动解决reCaptcha...")

    # 5. 等待验证码被解决
    # CapSolver扩展在后台自动解决验证码,并在成功时注入令牌。
    # 我们可以等待页面上某个在验证码解决后可点击的元素,
    # 例如此处的提交按钮,以确认过程完成。
    try:
        # 等待提交按钮可点击,通常意味着reCaptcha已被解决
        WebDriverWait(driver, 30).until(
            EC.element_to_be_clickable((By.ID, 'recaptcha-demo-submit'))
        )
        print("reCaptcha成功解决!")
        
        # 此时,您可以继续后续的表单提交或其他自动化操作
        # driver.find_element(By.ID, 'recaptcha-demo-submit').click()
        
    except Exception as e:
        print(f"超时或发生错误:{e}")
        
    finally:
        # 6. 关闭浏览器
        # driver.quit()
        # 为便于观察结果,此处未关闭浏览器;您可以手动关闭
        print("请手动关闭浏览器窗口以结束程序。")

if __name__ == "__main__":
    solve_recaptcha_with_capsolver()

步骤3.2:运行代码

运行上述Python脚本。当浏览器启动并加载演示页面时,CapSolver扩展将自动检测reCaptcha v2并开始解决。一旦成功解决,WebDriverWait将通过,您的自动化流程可以继续执行后续操作,例如提交表单。

常见问题(FAQ)

问题 回答
CapSolver扩展支持哪些浏览器? CapSolver扩展主要支持基于Chromium的浏览器(如Chrome、Edge)和Firefox。在Selenium中,我们通常使用ChromeDriverGeckoDriver来加载扩展。
如何确认CapSolver扩展是否正常工作? 检查config.json中的apiKey是否正确。浏览器启动后,您可以通过检查扩展的日志或控制台输出来确认是否成功检测并解决了验证码。如果成功,reCaptcha复选框将显示绿色对勾。
如果我要解决hCaptcha或reCaptcha v3呢? CapSolver扩展功能多样。您只需确保config.json中相应的配置项(如enabledForRecaptchaV3enabledForhCaptcha)设置为true,扩展将自动处理。代码逻辑保持不变。
是否可以使用CapSolver API而不是扩展? 当然可以。CapSolver提供强大的API接口。使用API需要您手动解析网站的sitekeyURL,调用API获取令牌,最后通过JavaScript将令牌注入表单。扩展的优势在于它为您处理了所有这些繁琐的步骤。

结论

通过将CapSolver浏览器扩展与Selenium Python结合使用,我们成功克服了自动化项目中的reCaptcha v2障碍。由于其模拟真实用户行为的特性,这种方法不仅高效,还显著降低了被目标网站反爬虫机制检测的风险。

现在,您可以将精力集中在更重要的自动化任务上,让CapSolver来处理验证码挑战。

领取您的CapSolver优惠码

不要错过进一步优化操作的机会!在充值CapSolver账户时使用优惠码CAPN,每次充值可额外获得5%的奖励,无上限。立即访问CapSolver仪表板领取您的优惠!

合规声明: 本博客提供的信息仅供参考。CapSolver 致力于遵守所有适用的法律和法规。严禁以非法、欺诈或滥用活动使用 CapSolver 网络,任何此类行为将受到调查。我们的验证码解决方案在确保 100% 合规的同时,帮助解决公共数据爬取过程中的验证码难题。我们鼓励负责任地使用我们的服务。如需更多信息,请访问我们的服务条款和隐私政策。

更多