这个问题在这里已有答案:
我正在创建一个脚本,自动点击社交媒体网站上的“接受请求”按钮 . 要执行它,我使用tampermonkey .
$( document ).ready(function() {
addFriend();
});
function addFriend(){
$(".acceptRequest").each(function(){
var button = this;
setTimeout(function(){
button.click();
},1);
});
}
当这个运行时,我得到了
未捕获的ReferenceError:
但是当我自己点击按钮时,它显然正在工作 .
那么点击它自己和让jquery点击它之间的差异是什么?
编辑:确切的错误是这样的:
Uncaught ReferenceError: manageRequest is not defined
at HTMLButtonElement.onclick (requests:2107)
at Object.trigger (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
at HTMLButtonElement.eval (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
at Function.each (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
at w.fn.init.each (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
at w.fn.init.trigger (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
at eval (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:45)
这是我试图点击的按钮:
<button type="button" class="acceptRequest" onclick="manageRequest(bunch of userinformation here)"><span>accept</span></button>
1 回答
不要使用
click
,而是使用trigger
,它执行附加到给定事件类型的匹配元素的处理程序 . 因此,您的代码将如下所示 .您可以在here中了解有关jQuery的
trigger()
的更多信息 .