爱编码的Farmer

  • 主页
  • 编程开发
  • 运营维护
  • 随心笔记
  • 新闻联播
  • 留言页面
  • 打赏
爱编码的Farmer
我是Farmer,我为自己代言
  1. 首页
  2. 编程开发
  3. 教程笔记
  4. 油猴
  5. 正文

[油猴脚本开发指南]脚本自动化之模拟点击和表单填写

2021年1月24日 685点热度 4人点赞 0条评论

本节主要内容:

首先将介绍模拟点击和表单填写的原理,然后使用脚本实现一个自动化登录论坛的功能

模拟点击

前端开发的同学应该都写过下面类似的代码,主要是监听一个按钮的click事件,用以实现一些功能.

//html
<button id="btn" onclick="click()">按钮</button>
//js
btn.onclick=function(){
alert('按钮被点击了')
}
//jq
$('#btn').click(function(){
alert('按钮被点击了')
});

我们模拟点击其实就是希望能够执行这个按钮点下后的事件.

方法一:

如果是上面的html的写法,我们可以直接找到点击后的事件,然后直接执行.不过这种方法使用场景有限,不是很推荐.

click();

方法二:

如果是js监听事件的方法,我们可以先用'document.querySelector'找到btn元素,然后执行'btn.click()'.这是比较推荐的方法.当然除了'document.querySelector'外还可以用jQuery,document.getElementByXXX之类的方法,只要能够找到并操作DOM元素就行了.(个人习惯querySelector,后续也使用querySelector来编写)

var btn=document.querySelector('#btn');
btn.click();

表单填写

关于表单填写也就是form,我们需要自动化的实现在input,checkbox,select等元素中填写或者选择我们希望的内容,例如自动选择正确答案和自动填写账号.其实也很简单,我们只需要使用querySelector查到我们想操作的元素就行了.
例如我想操作某个输入框:

var input=document.querySelector('#input');
input.value="油猴中文网";

操作多选框:

var checkbox=document.querySelector('#checkbox');
checkbox.checked=true;

使用自动化登录论坛

接下来使用我们刚刚的内容来实现一个自动化登录论坛的脚本.我们期望的功能是,打开论坛首页时,检测是否登录,如果未登录就自动填写配置好的账号密码进行登录,并且勾上自动登录选项.

第一步,判断是否登录:
在未登录的时候,我们的上方是一个登录框框,而不是用户的信息,那么我们可以查找上方是否有编辑框来判断是否是登录状态.(当然还有其它的很多办法)

按下F12打开开发者工具,选中用户这个框可,可以看见他有一个id和一些其它信息,id一般是这个页面唯一的,那么我们可以直接使用id来查询它,来看看它在不在这个页面上,在就表示没有登录.

代码就像这样:

if(document.querySelector("#ls_username")==null){
//没有找到表示登录了,不再执行后续代码
return;
}
//未登录,执行登录代码

第二步,我们要将我们的账号信息填入进去,并且勾上自动登录选项
和上面的一样,使用f12开发者工具,找到用户名编辑框,密码编辑框,自动登录多选框.然后填入value和checked设置为true.
代码就像这样:

document.querySelector("#ls_username").value="账号";
document.querySelector("#ls_password").value="pwd";
document.querySelector("#ls_cookietime").checked=true;

最后一步,点击登录按钮,就可以啦!
但是发现好像这个按钮没有id,没关系,我们可以使用它的上级class和type等信息来定位:

document.querySelector(".fastlg_l button").click();

其实这些内容都很简单,我相信你很快就能上手.如果你是一名前端开发,甚至可能你还会觉得就这?

脚本安装地址:https://bbs.tampermonkey.net.cn/thread-92-1-1.html

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: tampermonkey 油猴
最后更新:2021年1月24日

Farmer

不敢说什么

打赏 点赞

文章评论

取消回复

Farmer

不敢说什么

最新 热点 随机
最新 热点 随机
[油猴脚本开发指南]脚本自动化之模拟点击和表单填写 [油猴脚本开发指南]第一个脚本-HelloWorld Windows装杯且实用的终端配置 - WindowsTerminal+PowerShell优化 github不完全指南 iPad编程学习环境---vscode web版本搭建 从根本上解决鼠标手,chrome 插件"Vimium"分享
一种实现Win32窗口过程函数(Window Procedure)的新方法 你知道么?不止有CNM语言 程序员爱情表白专用html5动画网页的代码 程序猿专用代码注释:佛祖保佑,永无BUG Yii2.0 Controller C/C++ 通过域名取IP
最近评论
头像
发布于 4 个月前(12月24日) 感谢大佬开发的智慧树插件
头像
发布于 11 个月前(05月25日) 请问您之前写超星文档用的是什么程序啊?
头像
发布于 11 个月前(05月23日) 哈哈哈,同是程序员,从你的cxmooc-tools来的,踩踩
头像
发布于 11 个月前(05月23日) 哈哈哈哈哈,同是程序员,踩踩,从你的cxmooc-tools来的
头像
发布于 11 个月前(05月09日) dalao c语言应该从什么开始学起 我们老师讲的我很懵 前脚一个 printf 后脚就让我们开始...
友情链接
  • Junzhou
  • mathor
  • 仙桃小白菜
  • 油猴中文网
  • 青山志
RSS
  • RSS

COPYRIGHT © 2021 爱编码的Farmer. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

湘ICP备19008073号