我正在寻找一种使用 Greasemonkey 在网页中自动填写用户名/密码的方法。
这两个标签是输入,它们没有ID
,但它们是页面中仅有的两个输入,当按下“登录”按钮时出现。
我是 Greasemonkey(和 javascript)的初学者,我想知道如何等待这两个输入出现。
然后有两个按钮,一个“确定”和一个“取消”按钮。“确定”按钮是灰色的,设置输入element0.value="password"
并不会取消按钮的灰色。
如何使用 javascript 取消灰色?
我正在寻找一种使用 Greasemonkey 在网页中自动填写用户名/密码的方法。
这两个标签是输入,它们没有ID
,但它们是页面中仅有的两个输入,当按下“登录”按钮时出现。
我是 Greasemonkey(和 javascript)的初学者,我想知道如何等待这两个输入出现。
然后有两个按钮,一个“确定”和一个“取消”按钮。“确定”按钮是灰色的,设置输入element0.value="password"
并不会取消按钮的灰色。
如何使用 javascript 取消灰色?
该问题缺少请求和必需的 HTML,但一般来说,您会使用“在 AJAX 驱动的站点上选择和激活正确的控件”中的技术。
就像是:
// ==UserScript==
// @name _YOUR_SCRIPT_NAME
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/
waitForKeyElements ("input[type='password']", logIn);
function logIn (jNode) {
var inputs = $("input");
//-- DO NOT HARDCODE LOGIN CREDENTIALS IN A SCRIPT!
$(inputs[0]).val ("username");
$(inputs[1]).val ("password");
//-- Might need to trigger a change or mouse event here.
waitForKeyElements (
"JQUERY SELECTOR FOR THE OK BUTTON IN THE ACTIVE STATE",
clickOK_Btn
);
}
function clickOK_Btn (jNode) {
triggerMouseEvent (jNode[0], "click");
}
function triggerMouseEvent (node, eventType) {
var clickEvent = document.createEvent('MouseEvents');
clickEvent.initEvent (eventType, true, true);
node.dispatchEvent (clickEvent);
}
但不要硬编码登录凭据。使用敏感信息框架。