环境
Firefox, Tab Reloader插件
问题描述
工作上需要不时的在某个网页上进行操作,但该网页每隔一段时间不操作就需要重新登录,并且登录后的页面不是对应的操作页面。
因此每次都要刷新页面,跳转,登录,点击跳转,十分麻烦,想着应该可以自动执行。
问题解决
知道并使用着很多火狐的插件,自动刷新这么简单的肯定有。
至于自动点击跳转,我知道 JavaScript 可以操作,但要在完成页面加载后再执行 JS 代码,我不确定怎么弄。
因此首先就是在火狐的“扩展与主题”中查看,试了两个,找到了 Tab Reloader,发现完全满足需求。Tab Reloader 不仅支持自定义刷新时间,还支持“Run JS code after each reload”,完全满足需求。
首先试了下刷新时间,5分钟无效,3分钟可以.
然后尝试运行 JS code 实现自动点击。
1 首先找到点击项。按 F12 进入 Web开发者工具
- 查看要点击项 ,发现只是个超链接,无法直接定位
- 在结构树上往上找,有个父元素有个 class, 这里假定为 “copyright”,点击项是该父类的唯一超链接元素。
- 全局搜索,发现这个类是唯一的,这样就简单了。
2 编写 JS 代码
var x = document.getElementsByClassName("copyright")[0];
x.getElementsByTagName("a")[0].click();
3 打开刷新开关后,运行正常。完工!!!
备注:
1 上面的方式在一般页面上测试正常
2 我要操作的页面是一个局域网安全类设备的操作页面,无法执行外部JS, 连基本的 log 或 alert 都不行,所以只能实现自动刷新,跳转还是得手动点击以下
参考文献
[1] 菜鸟在线教程
[2] W3C School