首页 > 解决方案 > 为测试脚本获取 google recaptcha 令牌

问题描述

我有一个带有以下 html 代码的网站:

<div id="captchaDiv"></div>
<script src="https://www.google.com/recaptcha/api.js?onload=getCaptcha&render=explicit&sitekey=My_SITE_KEY"></script>
<script>
window.sd = function(token){ 
  document.writeln(token); 
}

getCaptcha = function(){
  window.captcha = grecaptcha.render('captchaDiv',{
    'sitekey' : My_SITE-KEY,
    'callback': windows.sd,
     'size':'invisible'
  })
}

function onPageLoad(){
  grecaptcha.ready(function(){ 
    grecaptcha.execute();
  });
}
window.onLoad(onPageLoad());
</script>

现在,当我浏览并刷新此页面时,Google 将提供一个新令牌。

我有一个测试脚本如下:

logger.info(RestAssured.get(page_url).then().extract().response().asString())

但我没有获得令牌,而是获得了页面源代码。有没有办法在不创建页面来获取令牌的情况下做到这一点?

标签: javascriptjavarecaptchaserenity-bddrecaptcha-v3

解决方案


推荐阅读