You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:基于Selenium Python创建Google reCAPTCHA v3失败测试用例遇阻

解决Google reCAPTCHA v3失败测试用例的问题

一、如何让Selenium触发reCAPTCHA v3失败

reCAPTCHA v3基于用户行为和环境特征生成0.0-1.0的风险分数,不会像v2那样弹出验证框,要触发失败核心是模拟机器人特征的行为,同时关注后端的分数结果而非前端表现:

  • 保留Selenium默认自动化指纹:不要添加--disable-blink-features=AutomationControlled这类规避检测的参数,让reCAPTCHA能识别出这是自动化工具。
  • 模拟非人类交互:
    • 无停顿快速操作:去掉所有time.sleep(),瞬间完成表单填写、提交等操作(人类不会在1秒内完成复杂表单)。
    • 异常点击/滚动:短时间内连续点击页面随机位置,用直线式鼠标移动(人类鼠标移动有曲线和停顿),快速无规律滚动页面。
    • 无意义输入:快速输入乱码文本,或复制粘贴超长无意义内容到输入框。
  • 伪造异常环境特征:
    • 频繁切换用户代理(UA),或使用非标准的UA字符串。
    • 每次会话清空浏览器Cookie和本地存储。
  • 直接调用DOM操作:用driver.execute_script()直接修改表单值、触发提交事件,而非模拟真实用户的点击/输入动作。
  • 验证后端分数:测试时必须调用Google的reCAPTCHA验证接口,获取返回的score字段。当分数低于业务设定的阈值(比如0.3)时,即判定为失败用例触发。

二、reCAPTCHA v3的有效性是否未达预期?

不是。v3的设计目标是静默验证、减少用户干扰,它不会主动拦截机器人,而是通过分数让开发者自行决定是否拒绝请求。你觉得被绕过,大概率是以下原因:

  • 测试时使用了规避自动化检测的配置:修改了Selenium的指纹,让reCAPTCHA无法识别这是自动化工具。
  • 只关注前端表现:v3不会在前端弹窗,所以前端看起来“绕过”了,但后端的分数其实已经标记为高风险,只是业务逻辑没有根据分数做拦截。
  • 集成不当:后端没有正确调用验证接口,或没有设置合理的分数阈值,导致机器人请求被放行,这是集成问题而非reCAPTCHA本身的有效性问题。

内容的提问来源于stack exchange,提问作者mrrobot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 01:54:50