第一次,每天,我尝试访问工作中的网页,我被重定向到内部托管的网页,其中包含IT指南和带有“同意”和“不同意”两个按钮的表单。点击“同意”,然后允许当天的外部互联网访问,并将您发送到您最初寻找的网站。
我想创建一个自动提交表单的Greasemonkey脚本,因为我已经有一个批处理文件在启动时启动所有正常的应用程序,这样我就可以在每天开始运行20分钟时离开PC -up;)
该页面只有一种形式:
<form method="post">
<input type="submit" value="I Agree" class="agree" onsubmit="submitonce(this)" />
<input type="button" onclick="javascript:window.close();" value="I Disagree"
class="disagree"/>
</form>
不确定是否重要,因为我只需要点击,但函数submitonce
是:
function submitonce(theform) {
//if IE 4+ or NS 6+
console.log("Submitting");
if (document.all || document.getElementById) {
//screen thru every element in the form, and hunt down "submit" and "reset"
for (i = 0; i < theform.length; i++) {
var tempobj = theform.elements[i];
if (tempobj.type.toLowerCase() == "submit" ||
tempobj.type.toLowerCase() == "reset")
//disable em
tempobj.disabled = true;
}
}
}
我有剩下的来源,但看起来没有其他任何相关内容。我之前在Greasemonkey / JS中没有真正编码,所以任何帮助都会受到赞赏。我正在玩an existing userscript使用 Ctrl Enter 来点击按钮。
显然我不在乎它是虚拟的“点击”还是仅仅是提交功能的触发器,因为我会说它们是同一个东西不是吗?
答案 0 :(得分:5)
这应该是一项简单的工作:
// ==UserScript==
// @name myscript
// @namespace whatever
// @include http://path to the internal page
// ==/UserScript==
document.forms[0].submit();
答案 1 :(得分:1)
得到了一位朋友的帮助,他说这应该有用,虽然它并不像dda那样简单。显然这适用于Chrome:
function ClicktheButton(obj) {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
var cancelled = !obj.dispatchEvent(evt);
/*
if(cancelled) {
// A handler called preventDefault
alert("cancelled");
} else {
// None of the handlers called preventDefault
alert("not cancelled");
}
*/
}
var StupidButton = document.querySelector('input[type="submit"][value="I Agree!"]');
ClicktheButton(StupidButton);
它还需要GreaseMonkey脚本始终具有的包含等。