chrome的开发者调试工具(按F12即可调出,web程序员必备)是个好东西,我们可以利用其中的console窗口运行我们自己的js脚本来实现表单的自动填充。
以人人网的自动登陆为例:
如图:
找到涉及的表单项,包括用户名,密码,是否自动填充和登陆按钮,右键-审查元素,chrome自动调出调试窗口并且会定位到该项的标签行,找到该表单项的id,我找到的分别是:email,password,autoLogin,login,然后用编辑器编辑如下js脚本。
void((function(){ document.getElementById("email").value = "someone@example.com"; document.getElementById("password").value = "......"; document.getElementById("autoLogin").checked = 1; document.getElementById("login").click(); })())
在调试窗口下切换到console编辑区,把刚刚的代码复制进去回车,就能自动填充表单并且登陆了。
分析一下这段js脚本,先用id获得各个表单项的节点document.getElementById("xxx")
,然后根据该表单项的特点赋值,比如type="text"
或type="password"
,用value填入所需内容,type="submit"
,用click()方法做点击动作,type="checkbox"
,用checked=1/0(true/false)
表示是否选中等等。
有时表单项过多时也可以用循环遍历来操作,比如某教务就可以用如下代码来给老师评价:
void((function() { var i = document.getElementsByTagName('select'); var ii = ((document.getElementsByTagName('tr')[10]).getElementsByTagName('td').length - 3); for (var jj = 1; jj <= ii; jj++) { i[jj].selectedIndex = 2; } for (var s = jj; s < i.length; s++) { i[s].selectedIndex = 1; } var iii = document.getElementById('Button1'); iii.click(); })())
以后需要大量重复填写的表单,就可以自己写一个js脚本,用chrome的console一个回车就搞定了~
不错,很有用,支持
谢谢!