如何在 GreaseMonkey 中点击

How to click in GreaseMonkey

我正在尝试单击 Greasemonkey 中的按钮。 我尝试了两种不同类型的代码:

var evt = document.createEvent ("HTMLEvents");
evt.initEvent ("click", true, true);
document.getElementById('BIS_trigger').dispatchEvent (evt);

其次,

var checkoutBtn = document.querySelector (
    "add input"
);
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
checkoutBtn.dispatchEvent (clickEvent);

我以前有过 C# 和编程经验,但对 Greasemonkey 真的很陌生。

html:

<p>
<input class="btn add-to-cart pull-left" name="add" id="add" value="Add to Cart" type="submit">   
</p>

当我在浏览器中启用脚本名称旁边的小复选标记然后重新加载时,没有任何反应。是不是因为我想点击的是 "input"?

如果您想自己查看,请访问站点 https://www.solefly.com/products/nike-hyperdunk-08-gym-red-white。谢谢!

不需要合成事件,调用按钮上的click()方法即可。但是,您的选择器是错误的,因此您实际上并没有找到按钮:

您可以这样做,通过 id 属性:

找到按钮
document.querySelector('#add').click();

请注意,您的选择器 add input 搜索名称为 add 的标签(显然不存在),然后会搜索该 [=] 下的后代 input 元素14=] 元素。由于 id 值在 HTML 文档中应该是唯一的,您可以在 id 上使用选择器,这需要 # 前缀。