为什么这个JQuery点击功能不工作?(验证按钮)
Why is this JQuery click function not working? (Recaptcha verify button)
我不明白为什么它不工作。
- 打开链接https://www.google.com/recaptcha/api2/demo
- 在此网页中注入jquery
- 给出验证码,选择"我不是机器人"复选框,并选择照片
- 打开Chrome控制台并运行代码:
$('iframe[src*="frame"]').contents().find('#recaptcha-verify-button').click();
我不明白为什么点击功能(在验证按钮从js)不工作(什么都没有发生,没有错误,没有)。
编辑:注入jQuery:
if (typeof jQuery == 'undefined') {
loadScript('https://code.jquery.com/jquery-1.11.3.min.js', jQueryReady);
}
function loadScript(url, callback){
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
if(!callback) callback = function(){};
if(script.addEventListener) {
script.addEventListener("load", callback, false); // IE9+, Chrome, Firefox
}
else if(script.readyState) {
script.onreadystatechange = callback;
}
head.appendChild(script);
}
点击"我不是机器人"工作完美:
$('iframe[src*="anchor"]').contents().find('.recaptcha-checkbox-checkmark').click();
Edit2:
//https://www.google.com/recaptcha/api2/demo
if (typeof jQuery == 'undefined') {
loadScript('https://code.jquery.com/jquery-1.11.3.min.js', jQueryReady);
}
function loadScript(url, callback) {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
if (!callback) callback = function() {};
if (script.addEventListener) {
script.addEventListener("load", callback, false); // IE9+, Chrome, Firefox
} else if (script.readyState) {
script.onreadystatechange = callback;
}
head.appendChild(script);
}
function jQueryReady() {
//working perfect
//$('iframe[src*="anchor"]').contents().find('.recaptcha-checkbox-checkmark').click();
//not working
$('iframe[src*="frame"]').contents().find('#recaptcha-verify-button').click();
}
正如Jaromanda X在评论中提到的那样,它显然无法工作,因为jQuery库没有加载到该页面上。
编辑后,代码抛出安全错误:
if (typeof jQuery == 'undefined') {
loadScript('https://code.jquery.com/jquery-1.11.3.min.js', jQueryReady);
}
function loadScript(url, callback) {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
if (!callback) callback = function() {};
if (script.addEventListener) {
script.addEventListener("load", callback, false); // IE9+, Chrome, Firefox
} else if (script.readyState) {
script.onreadystatechange = callback;
}
head.appendChild(script);
}
function jQueryReady() {
$('iframe[src*="anchor"]').contents().find('.recaptcha-checkbox-checkmark').click();
}
jquery-1.11.3.min.js:2 Uncaught SecurityError: Failed to read the 'contentDocument' property from ' htmlframelement ': Blocked a frame用原点"http://www.google.com"访问一个有原点的帧"https://www.google.com"。请求访问的帧有一个协议在"http"中,被访问的帧具有"https"协议。协议必须匹配。
iframe是安全的https,而实际的演示是在http的位置
相关文章:
- 自定义验证器不工作
- JavaScript表单验证-“;“错误”;不按需要工作
- javascript正则表达式验证未按预期工作
- 表单验证工作不正常,在不检查条目的情况下继续
- 为什么Angularjs验证don't与输入[type=“number”]一起工作
- 表单验证在接近尾声时停止工作
- 在键上验证正在工作,但在按键时它不起作用
- 表单验证在 HTML 中工作的 Visualforce 中不起作用
- CSS 类在验证时只工作一次
- 在角度验证中禁用 ng 无法按预期工作
- 为什么我的 Javascript 表单验证无法正常工作
- RubyonRails中的JavaScript表单验证-让JS正常工作,但我该把它放在哪里
- 添加Jquery验证后,Jquery日期选择器无法工作
- 输入字段验证的键代码函数在chrome中没有按预期工作
- 使用javascript的十进制验证未按预期工作
- 我正在尝试使用jqueryValidation引擎插件验证注册表单,有些验证无法正常工作
- 主干.js:在将模型添加到集合之前不进行工作验证
- 不;对传递给指令AngularJS的表单进行工作验证
- 不能正常工作验证引导jalali日期拾取器
- 为什么这个JQuery点击功能不工作?(验证按钮)