如何使用测试密钥在自动化场景中禁用reCAPTCHA v2
自动化场景下处理reCAPTCHA的方法
首先明确:reCAPTCHA没有官方“禁用”选项,但Google提供了测试专用密钥对,使用这些密钥后,自动化环境中的reCAPTCHA会直接通过验证,无需人工操作,以此实现类似“禁用”的效果。
官方测试密钥对
Google固定提供的测试密钥如下:
- 站点密钥(Site Key):
6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI - 密钥(Secret Key):
6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
在Selenium中的具体实现
方法1:替换页面站点密钥
如果是自有页面,直接将页面内reCAPTCHA的站点密钥替换为上述测试密钥即可;如果是第三方页面,可通过Selenium执行JS脚本修改:
// 定位reCAPTCHA元素并替换data-sitekey属性 document.querySelector('.g-recaptcha').setAttribute('data-sitekey', '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI'); // 若页面reCAPTCHA为动态渲染,重新触发渲染 grecaptcha.render('g-recaptcha', {sitekey: '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI'});
Python环境下的Selenium执行示例:
driver.execute_script(""" document.querySelector('.g-recaptcha').setAttribute('data-sitekey', '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI'); grecaptcha.render('g-recaptcha', {sitekey: '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI'}); """)
方法2:后端替换验证密钥
如果自动化流程涉及后端验证reCAPTCHA响应,只需将后端使用的验证密钥替换为上述测试密钥。使用测试密钥验证时,Google会直接返回成功结果,无需校验前端响应内容。
注意事项
- 测试密钥仅允许在开发、自动化测试环境使用,严禁用于生产环境。
- 第三方站点的reCAPTCHA结构可能存在差异,需根据实际页面调整JS脚本中的元素定位逻辑。
内容的提问来源于stack exchange,提问作者Jackson Rodgers
相关产品推荐
相关产品推荐

