使用GreaseMonkey

时间:2015-07-28 15:28:38

标签: javascript html events greasemonkey keypress

我想要做的是填写一个输入字段,专注于它并按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处理的...... / p>

所以有人知道如何让enter键发生,或者点击按钮?

1 个答案:

答案 0 :(得分:3)

最后我设法点击了按钮。 .click()无效,因为该事件使用了.tap()所以这就是我刚刚做的事情:

$('#submit_email').tap();