如何在 OpenAI Agents SDK 中解决 reCAPTCHA v3

Ethan Collins
Pattern Recognition Specialist
30-Jul-2026
如何在OpenAI代理SDK中解决reCAPTCHA v3
reCAPTCHA v3是隐形的——没有复选框,没有图像网格——在后台对用户交互进行评分。当OpenAI代理SDK代理访问受v3保护的API和页面时,它们会收到低分,从而触发阻止或二次挑战。CapSolver通过其AI服务生成高分reCAPTCHA v3令牌(0.7-0.9),通过@function_tool与OpenAI代理SDK集成,使您的代理能够清除不可见的验证而无需任何可见交互。
TL;DR
- reCAPTCHA v3是隐形且基于评分的——当分数过低时代理会无声失败
- CapSolver通过
reCaptchaV3任务类型在3-8秒内生成高分令牌(0.7-0.9) - 需要
website_url、website_key和page_action参数(如"login"或"submit"的动作名称) - 集成使用OpenAI代理SDK的
@function_tool与CapSolver的异步execute_tool() - 无需浏览器——令牌模式适用于所有reCAPTCHA v3实现
为什么reCAPTCHA v3与v2不同
reCAPTCHA v3从不显示可见的挑战。相反,它在后台运行JavaScript,将用户的会话评分从0.0(可能为机器人)到1.0(可能为人)。站点所有者设置一个阈值——通常为0.5-0.7——并阻止或挑战低于该分数的请求。
对于OpenAI代理,这会创建一个无声的失败模式。代理看不到需要解决的CAPTCHA小部件。相反,API调用返回403错误,表单提交无声失败,或站点重定向到错误页面。在不了解reCAPTCHA v3正在阻止它们的情况下,代理无法恢复。
Google的reCAPTCHA v3文档解释说,评分基于“与您的网站的交互”——没有鼠标移动、没有滚动行为和快速导航的自动化浏览器通常评分低于0.3,触发阻止。
CapSolver通过生成0.7-0.9的令牌来解决这个问题,这些令牌几乎可以通过所有站点阈值。代理将此令牌与请求一起提交,站点将其视为高置信度的人类交互。
开始前需要准备什么
bash
pip install git+https://github.com/capsolver-ai/capsolver-core.git
pip install git+https://github.com/capsolver-ai/capsolver-agent.git
pip install openai-agents
bash
export CAPSOLVER_API_KEY="your-capsolver-api-key"
export OPENAI_API_KEY="your-openai-api-key"
您需要确定目标站点的reCAPTCHA v3 page_action。常见操作:login、submit、homepage、register、checkout。通过在页面源代码中搜索grecaptcha.execute(sitekey, {action: '...'})来查找它。
第1步 —— 将reCAPTCHA v3解决注册为函数工具
python
from agents import Agent, Runner, function_tool
from capsolver_agent.schema import execute_tool
@function_tool
async def solve_recaptcha_v3(
website_url: str,
website_key: str,
page_action: str = "verify",
min_score: float = 0.7
) -> str:
"""解决不可见的reCAPTCHA v3挑战并返回高分令牌。
在站点使用reCAPTCHA v3(不可见、基于评分)时使用。
令牌必须作为"g-recaptcha-response"与您的请求一起提交。
参数:
website_url: 页面的完整URL
website_key: reCAPTCHA v3网站密钥
page_action: 动作名称(例如"login"、"submit"、"verify")
min_score: 最低可接受分数(默认0.7,范围0.1-0.9)
"""
result = await execute_tool("solve_captcha", {
"captcha_type": "reCaptchaV3",
"website_url": website_url,
"website_key": website_key,
"page_action": page_action,
"min_score": min_score
}, api_key="YOUR_CAPSOLVER_API_KEY")
if result["success"]:
return f"reCAPTCHA v3已解决(分数≥{min_score})。令牌: {result['solution']['token']}"
return f"失败: {result['error']}"
第2步 —— 构建代理
python
v3_agent = Agent(
name="API访问代理",
instructions="""您访问受reCAPTCHA v3(不可见、基于评分)保护的API和页面。
页面使用v3的标志:
- 脚本标签: <script src="...recaptcha/api.js?render=SITE_KEY">
- 页面上没有可见的CAPTCHA小部件
- API返回403或无声失败
当您需要v3令牌时:
1. 从脚本的render参数中识别站点密钥
2. 从grecaptcha.execute调用中识别page_action
3. 使用这些参数调用solve_recaptcha_v3
4. 将令牌作为g-recaptcha-response与您的请求一起提交""",
tools=[solve_recaptcha_v3]
)
async def main():
result = await Runner.run(
v3_agent,
"访问https://example.com/api/data的API。它使用站点密钥6LdKlZEpAAAAAN...和动作'getData'的reCAPTCHA v3。给我一个有效的令牌。"
)
print(result.final_output)
import asyncio
asyncio.run(main())
第3步 —— 识别reCAPTCHA v3参数
reCAPTCHA v3参数位于页面JavaScript中:
javascript
// 脚本src中的站点密钥
<script src="https://www.google.com/recaptcha/api.js?render=6LdKlZEpAAAAAN..."></script>
// execute调用中的动作
grecaptcha.execute('6LdKlZEpAAAAAN...', {action: 'submit'}).then(function(token) {
document.getElementById('g-recaptcha-response').value = token;
});
reCAPTCHA v3识别指南解释了如何提取这些值。CapSolver扩展可在任何页面上自动检测v3参数。
| 参数 | 在哪里找到 | 示例 |
|---|---|---|
| website_key | 脚本src中的?render= |
6LdKlZEpAAAAAN... |
| page_action | execute调用中的{action: '...'} |
submit、login、verify |
| min_score | 站点的阈值(通常为0.5-0.7) | 0.7(安全默认值) |
领取您的优惠码:在CapSolver仪表板使用代码WEBS,每次充值可额外获得5%的奖励。
结论
在OpenAI代理SDK中解决reCAPTCHA v3需要识别站点密钥和页面动作,然后通过@function_tool调用CapSolver的reCaptchaV3任务类型。与v2不同,没有可见的小部件——代理必须识别无声失败并主动生成高分令牌。CapSolver在3-8秒内生成0.7-0.9分的令牌,无需任何浏览器交互即可清除不可见的验证。
常见问题
CapSolver为reCAPTCHA v3生成什么分数?
CapSolver生成0.7-0.9分的令牌,几乎可以通过所有站点阈值。大多数站点的阈值设置为0.5-0.7,因此CapSolver的令牌始终能通过验证。
我需要浏览器来解决reCAPTCHA v3吗?
不需要。令牌模式无需任何浏览器。提供站点密钥、URL和动作——即可获得令牌。这使得v3解决在大多数情况下比v2更快更简单。
如果我不知道page_action怎么办?
尝试常见的动作:verify、submit、login、homepage。如果都不行,检查页面源代码中的grecaptcha.execute调用。动作参数始终在客户端JavaScript中可见。
reCAPTCHA v3企业版有什么不同吗?
是的。企业版v3可能需要enterprise: true标志和潜在的s令牌。CapSolver处理企业变体——如果标准方法失败,请在参数中添加enterprise: true。
合规声明: 本博客提供的信息仅供参考。CapSolver 致力于遵守所有适用的法律和法规。严禁以非法、欺诈或滥用活动使用 CapSolver 网络,任何此类行为将受到调查。我们的验证码解决方案在确保 100% 合规的同时,帮助解决公共数据爬取过程中的验证码难题。我们鼓励负责任地使用我们的服务。如需更多信息,请访问我们的服务条款和隐私政策。
更多

如何使用TinyFish AgentQL解决CAPTCHA – 使用CapSolver的分步指南
学习如何将CapSolver与TinyFish AgentQL集成,以自动解决如reCAPTCHA和Cloudflare Turnstile的CAPTCHAs。分步教程,包含Python和JavaScript SDK示例,实现无缝的AI驱动的网页自动化。

Adélia Cruz
05-Aug-2026

如何在LlamaIndex智能代理中解决验证码
将CAPTCHA求解集成到LlamaIndex代理中,使用FunctionTool和CapSolver用于网络数据摄入流程。

Ethan Collins
31-Jul-2026

如何使用MCP解决CAPTCHA:CapSolver 模型上下文协议服务
在 Claude 桌面版、Cursor 和任何 MCP 客户端中设置 CapSolver MCP 服务,以实现零代码验证码破解。

Ethan Collins
31-Jul-2026

如何在 OpenAI Agents SDK 中解决 reCAPTCHA v3
使用 CapSolver function_tool 在 OpenAI 代理软件开发工具包中生成高分 reCAPTCHA v3 令牌。

Ethan Collins
30-Jul-2026

如何在CrewAI代理中解决Cloudflare Turnstile问题
将 Cloudflare Turnstile 求解集成到 CrewAI 多智能体工作流中,使用 CapSolver。

Ethan Collins
30-Jul-2026

如何在AutoGen代理中解决CAPTCHA
使用 CapSolver 通过 register_function 和群聊模式将验证码解决集成到 Microsoft AutoGen 多智能体对话中的完整指南。

Ethan Collins
29-Jul-2026

