如何在测试场景下稳定触发reCAPTCHA V3低分值?
reCAPTCHA V3本地测试复现低分值解决方案
核心原因说明
reCAPTCHA V3默认对localhost/127.0.0.1等本地环回地址执行宽松判定规则,谷歌官方为了降低开发门槛,默认将本地开发环境归入信任池,这就是你长期拿到0.9高分的核心原因,并非你的IP被加入自定义白名单。
你之前偶尔拿到低分后次日恢复高分,是因为reCAPTCHA的会话信任标签有效期通常为24小时,高频请求临时触发了风控后,系统检测到来源是开发环境,又自动恢复了信任判定。
可落地复现方案
- 替换访问地址:不要使用
localhost访问本地服务,修改本地hosts将测试域名映射到局域网私有IP(如192.168.1.xx),或直接用局域网IP访问服务,避开本地环回地址的宽松规则 - 暴露Selenium自动化特征:不要添加任何反检测配置,故意保留所有爬虫特征
- 保持
navigator.webdriver标志默认值为true,不要做修改或删除 - 保留Selenium headless模式的默认UA标识,不要自定义替换正常浏览器UA
- 表单操作完全模拟机械行为:固定毫秒级间隔填写字段、点击提交无鼠标移动轨迹、页面停留时间固定为<1s的极小值,不添加随机延迟
- 保持
- 每次请求重置上下文:所有请求使用全新无痕会话,不复用cookie、localStorage、IndexedDB等缓存数据,避免reCAPTCHA给当前会话打上长期信任标签
- 提高请求频率:取消请求限速,每秒提交至少3次表单,连续跑10分钟以上,触发频率风控规则
补充验证方式
如果本地测试还是无法稳定复现,可将测试代码指向生产环境的测试域名(不要直接请求生产业务接口影响线上),生产环境的判定规则默认严格,可快速拿到低分值。
内容的提问来源于stack exchange,提问作者mmullerc
相关产品推荐
相关产品推荐

