Greasemonkey:如何自动填写登录表单?

Greasemonkey: how can I autofill the login form?

我想在 (https://my.evon-home.com/login.html) 上自动填写我的登录表单。

我在用Greasemonkey,写了一点Javascript。 但它不起作用。

这是我的 JS 代码:

// ==UserScript==
// @name     user
// @namespace  https://my.evon-home.com/login.html
// @version  1
// @grant    none
// ==/UserScript==
document.getElementById("relayid").value = "123"
document.getElementById("user").value = "test";
document.getElementById("password").value = "test"

等待页面加载。试试这个

window.addEventListener('load', function() {
    document.getElementById("relayid").value = "999"
    document.getElementById("user").value = "demo";
    document.getElementById("password").value = "demo"
}, false);

如果你想提交表单,那么你可以使用表单的选择器,然后提交它。

window.addEventListener('load', function() {
    document.getElementById("relayid").value = "999"
    document.getElementById("user").value = "demo";
    document.getElementById("password").value = "demo"

    document.getElementsByClassName('form')[0].submit()
}, false);

在我看来,添加侦听器在带有 IceRaven 的 Violentmonkey 上无法正常工作(在 Android 上)。人们可以改用 @run-at 元区块(参见 https://wiki.greasespot.net/Metadata_Block#.40run-at),它似乎可以跨平台和跨插件工作:

// ==UserScript==
// @name     user
// @namespace  https://my.evon-home.com/login.html
// @version  1
// @run-at   document-end
// @grant    none
// ==/UserScript==
document.getElementById("relayid").value = "123"
document.getElementById("user").value = "test";
document.getElementById("password").value = "test"