【发布时间】:2015-10-19 06:35:59
【问题描述】:
我要做的是填写一个输入字段,关注它并按 Enter 提交。在特定页面上使用 GreaseMonkey 自动完成所有这些操作。
这是我目前所拥有的,该字段已填满,但我无法让按键工作。
var my_email = "test@maildrop.cc";
var field = document.getElementById('email');
var key_to_press = new Array;
key_to_press["key"] = "Enter";
key_to_press["keyCode"] = "13";
var ev = new KeyboardEvent("pressEnter", key_to_press);
field.value = my_email;
setTimeout(function() {
field.focus();
}, 2000);
setTimeout(function() {
field.dispatchEvent(ev);
}, 2000);
这是页面中的一些 HTML:
<div class="form-group no-label required">
<label class="control-label" for="invite-email"></label>
<div class="input-group">
<input id="hiddenKid" type="hidden" value="BUXB4U"></input>
<input id="email" class="form-control" type="email" placeholder="E-mail Address" data-type="email" name="invite-email"></input>
</div>
</div>
<div id="submit_email" class="btn btn-submit-invite"></div>
请注意,还有一个提交电子邮件的按钮,我可以使用它,但我真的不知道如何,因为它只是一个 div,可能由网站上的其他一些 JS 处理...
那么有谁知道我怎样才能使输入键发生,或者单击按钮?
【问题讨论】:
-
为什么不能使用
document.getElementById("the_button").click()? -
我想通了,它使用
.tap()事件!
标签: javascript html events greasemonkey keypress