
找到这儿就已经很清楚了,这个 doSubmit() 就是按确认提示后返回 true 或 false 来进行判断是否重启 。
那么这下就简单了,只要我主动返回给 onsubmit 这一元素 true 值不就行了呗 。
那这代码应该怎么写呢?
我来来回回找了半天,也没找着 form 的 id 是什么,这叫我怎么获取 form 的元素节点呢?
世上无难事,只怕有心人啊,还好这个页面相当简单,只有一个 form 标签,那么完全可以用 getElementsByTagName 来获取标签元素 。
当然了,这个和 getElementsByName 一样,获取到的是一个数组,只有一个标签的话那通常就是在数组的第一个成员了,也就是数组长度只有 1。
所以代码写成了下面这个样子 。
parent.frames.mainFrame.document.getElementsByTagName("form")[0].onsubmit=true; 好,我们再来试一试哈 。
先给 onsubmit 赋值 true,然后再来点击重启按钮 。
哈哈,OK 了!成功无视确认直接重启路由器!
哈哈,很兴奋吧,可惜前面说了,这个只是坑一,骚年别激动,后面还有坑哩!
从坑里跳出来,我们接着说下一个坑 。
自动化处理
前面这些代码,实际上只能通过手动方式输入到控制台上执行 。
可是我想要的是自动修改密码的效果呀,怎么才能自动化处理执行呢?
这个时候就要请大名鼎鼎的油猴登场了!
油猴有很多,我用的是 Tamper Monkey。
它是火狐或谷歌等浏览器的一个扩展或插件,用于自动执行用户自定义 JS 代码 。
感觉评分好像最高,于是就选了它 。
说实话,我也是第一次用它,对它的一切不是很熟悉,所以接下来的操作都非常适合新手小白 。
如何安装我就不说了,作为浏览器插件安装起来非常简单方便 。
接下来还是说一说如何实现自动化处理 JS 代码,这才是重点对吧 。

头一次,我简单粗暴地把前面的那些代码机械地罗列到了油猴中,可惜很快我就惨败了 。
原因很简单,页面加载往往需要一点的时间间隔,而在页面加载完成前,代码已经跑完了 。
为了让代码能赶上上实际页面加载情况,所以我们需要给代码加上延时 。
setTimeout(function() {...}, 1000); 这个其实就是坑二,延时是根据页面加载的速度决定的,通常你可以设定得长一些,比如 3 到 5 秒的样子 。
另外在点击或跳转页面时,也会出现加载页面的情况,所以基本上每一步操作都要加上延迟 。
之后的完整代码会展示这一点 。
如果这个时候你迫不及待地将代码放到油猴里跑上一跑,你会发现似乎真的可以做到自动登录、自动修改密码、并自动重启路由器 。
哇!太棒了!这不就是我们想要的吗!
我们成功了!
如果你发出如此感叹,我只能说你还是太年轻了,至少文章在这里才刚过一半 。
要知道,当路由器重启后,页面就会自动重新加载,而只要页面加载,油猴中的代码就会自动开始执行 。
此时你的代码就会再次执行一次,然后路由器又重启了,如此往复、没完没了,让人流泪,令人心碎 。
没错,这就是接下来要说的第三个坑!

禁止页面重新加载
为什么要禁止页面重新加载,刚才也说了,就是防止因页面重启加载而导致程序重头再跑一遍 。
但是,我想你会说,不重启 WIFI 密码就无法生效啊 。
推荐阅读
- 原来Word还能这样修改 word批注怎么修改
- 华为路由器隐藏wifi的方法 华为路由器隐藏wifi怎么设置
- 海信电视wifi设置打不开怎么办
- 手机IMEI能改吗
- 苹果手机itunes怎么改密码
- 教你如何解决连上WIFI但没网的问题 wifi不可上网怎么办有感叹号
- 想换个新的路由器怎么样操作 家用路由器怎么换路由器
- 笔记本找不到无线网络可以这样办 笔记本电脑不显示wifi网络
- 千兆路由器和百兆路由器哪个好 千兆路由器和百兆区别怎么看
- 小白也能学会的三个方法 怎么改文件格式
