使用JavaScript打开一个新页面并在那里填充表单值
-
02-10-2019 - |
题
我在书签中使用JavaScript在网站上填充表单元素:
javascript:var f = document.forms[0];
f.getElementsByTagName('input')[0].value = 'myname';
f.getElementsByTagName('input')[1].value = 'mypassword';
f.getElementsByTagName('input')[2].click
这有效。但是,我想创建的是一个书签,以便打开目标页面并填充那里的值。但是,似乎加载了页面,其他JavaScript代码未执行。因此,以下内容不起作用。
javascript:window.location("mywebsite");var f = document.forms[0];
f.getElementsByTagName('input')[0].value = 'myname';
f.getElementsByTagName('input')[1].value = 'mypassword';
f.getElementsByTagName('input')[2].click;
我还尝试了Settimeout,以延迟执行代码,但这无效。
javascript:var f = document.forms[0];setTimeout("f.getElementsByTagName('input')[0].value = 'myname';f.getElementsByTagName('input')[1].value = 'mypassword';f.getElementsByTagName('input')[2].click;",1000);
一旦知道目标页面已满,我如何加载脚本?
解决方案
Greasemonkey 内置在铬中,听起来您正试图重新发明轮子。安装JS文件,页面加载时将运行。
其他提示
我不使用GreaseMonKey作为个人规则,而是为不应该使用它的浏览器编码。当您的系统被锁定时,书签是一种自动登录自动登录的方法,并且不允许安装GreaseMonKey,RoboForm,等等。
我已经编码了很多登录书签,并考虑了您要做什么:添加一些页面加载后执行的脚本。我来到此页面寻找解决方案,但是现在我很高兴它不起作用。
考虑一下安全的影响。如果可以将击键回声到加载页面,它也可以聆听击键并将其发送到其他地方 - 非常糟糕。
如果您想自动登录自动化,请尝试这样的书签模式(删除销售线路):
javascript:
u='my_username';
p='my_password';
l='https://my_server/signon.aspx';
if(location!=l)location=l;
else{
g=document.getElementById;
ue=(g('username') || g('userid') || g('login_name'));
if(ue){
ue.value=u;
pe=(g('password') || g('pw') || g('pin'));
pe.value = p;
b=(g('submit_button') || g('signon_button') || g('login_button'));
document.close();
if(b)b.click();
}
}
单击链接后,您将带您到signon.aspx页面。一旦“用户名”字段在加载页面上可用,再次单击相同的链接将填写表格并提交。
因此,这是比您希望的多点击,但是如果将书签放在工具栏上,则几乎没有任何延迟。祝你好运!
不隶属于 StackOverflow