在我使用的网站上,单击“购买链接”元素后会出现一个确认链接。我想通过编写一些代码以在单击“购买链接”后自动单击“是”来有效地跳过确认步骤。我将data-id传递给操作,以确定要单击的“是”按钮(每页隐藏多个),但是在对该元素调用.trigger(“ click”)时,它什么也不做。我将setTimeout作为一种基本方法来确保在代码被触发之前该元素在DOM中可见,而我仍然没有任何结果。如果我粘贴:
var id = "blah";
$("a[data-id*='"+id+"']").trigger("click");
进入控制台,它的行为符合预期,但不会在Tampermonkey中执行此操作。任何帮助将不胜感激,谢谢。
我已经尝试过.triggerHandler和.click。 我将超时设置得非常大,以确保该元素位于DOM中。
function bindCarts() {
console.log("Adding listeners.");
var classname = document.getElementsByClassName("buy-link");
$(classname).each(function(_, ele) {
$(ele).bind('click', function(__) {
setTimeout(function() {
var id = __.currentTarget.getAttribute('data-id');
console.log("Click " + id);
$("a[data-id*='"+id+"']").trigger("click");
}, 500);
});
});
}