如何在 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
上使用选择器,这需要 #
前缀。
我正在尝试单击 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
上使用选择器,这需要 #
前缀。