【记一次开发油猴插件的过程】——逆水寒
记一次开发过程
- 基于油猴插件写的纯javascript代码
- 第一步
- 第二步
- 第三步
- 第四步
- 第五步
- 第六步
基于油猴插件写的纯javascript代码
一个朋友找我帮忙,我刚好闲着无聊写了一下,有需要的自取。因为油猴插件第一次写,所以有些粗糙,各路大神如有意见或建议,欢迎指出!
需求分析
需要做的有以下几点:
- 首先确定网站,确定了下网站 https://h.163.com/;
- 因为我们需要选中的是二测资格,所以我们要找到相应的位置;
- 现在显示为xx小时后补货,我们需要设置个自动点击的时间点击按钮;
- 会有一个弹出框,弹出框因为我没有抢到过,所以暂时不知道什么样式。不过网上有教程,我们搜一下发现是一个兑换成功和兑换失败两个框,所以我们要分两种情况;
- 如果兑换成功我们就不需要做操作了,如果兑换失败我们还需要刷新页面,继续操作;
第一步
我们需要去查看网页源代码,F12 / fn+F12找到我们需要用到的位置,然后我们获取按钮
document.querySelectorAll(".exchange-btn")
我们获取到了所有的可以点击的兑换的按钮
第二步
因为当前显示为xx小时后补货
所以我们需要写个定时器去让它等时间执行。
var time = new Date().getTime();
// 获取当前时间的时间戳
var timeOut =Date.parse(new Date(new Date(new Date().toLocaleDateString()).getTime() +12 * 60 * 60 * 1000 - 50)) - time
//获取相差时间的时间戳
//如果今天12点过去了我们要让它加24个小时,如果没有的话,我们不用管它。
//下边做下判断,是否需要修改
if (timeOut < 0) {timeOut = timeOut + 86400000;}
//如果大于0的话就说明时间未到 未到就不用修改
第三步
做好定时器之后我们需要去判断下按钮的点击,如果到12点显示的是xx小时后的话,我们刷新页面,如果不是的话,我们继续去做判断
if (document.querySelectorAll(".exchange-btn")[3].innerText ==="立即兑换") {//如果显示的是兑换的话 执行此处} else {//如果不是的话 刷新页面history.go(0);}
第四步
接下来我们需要用到定时器来判断是是否显示弹窗(可能有更好的办法,希望大神可以指出)
var dsq = setInterval(() => {if (document.querySelector(".confirm-pop") !== null) {//弹窗的class名为confirm-pop//如果弹窗出现了的话,我们就不需要定时器了clearInterval(dsq);} else {//如果没有出现弹窗的话那就是点击事件没有触发,所以我们进行点击document.querySelectorAll(".exchange-btn")[3].click();}
}, 50);
第五步
弹窗分为两种情况,我们做下判断
if (document.querySelector(".confirm-btn") !== null &&document.querySelector(".confirm-btn").innerText ==="确定") {//confirm-btn提交按钮的class名字,会有两种情况“做任务获取更多铜钱也会是这个class”//所以我们加个判断,判断是不是有确定可以点击,如果有了我们就点击 //如果两个不满足或者只满足一个 我们就刷新页面document.querySelector(".confirm-btn").click();} else {history.go(0);}
第六步
如果时间开始因为一些非正常因素导致的无法正常点击的时候,我们需要继续刷新页面,当然不能毫无节制,我这里做了一分钟的刷新,因为如果一分钟都没抢到的话,那就没了。
if (60000 > timeOut && timeOut > -60000) {console.log("满足条件的");//距离中午12点差一分钟和多一分钟的时候执行这里} else {console.log("不满足条件的");}
当然了前边的1分钟可以去掉 保险起见我还是加上了。到这里就结束啦。这就是开发全过程啦。
【记一次开发油猴插件的过程】——逆水寒相关推荐
- 开发油猴脚本:给任意网页的选中文字涂色
概述 简单来说:就像在现实课本上用mark笔涂色划重点一样,可以用这个脚本在任意网页上涂色划重点. 开发缘由:每次在网上看资料的时候,都会默默归纳几个重要的地方,但是看完资料写博客的时候又容易忘重点, ...
- Mac的Safari安装油猴插件(Tampermonkey)
Mac的Safari安装油猴插件(Tampermonkey) 官方的AppStore是没有油猴插件(Tampermonkey)的,官方插件不仅少,功能被阉割,相对弱小,还收费.嗯,这很苹果第三方拓展. ...
- Tampermonkey[油猴插件]开发者的神级工具!
油猴插件在项目开发中的应用 油猴插件介绍和使用 插件介绍 输出Hello world 实战应用 文档生成代码 油猴插件介绍和使用 插件介绍 Tampermonkey是一款免费的浏览器扩展和最为流行的用 ...
- 谷歌浏览器 Chrome 安装 Tampermonkey 油猴插件的方法
谷歌浏览器 Chrome 安装 Tampermonkey 油猴插件的方法 一.什么是油猴脚本 二.油猴安装方法 方法一:Google官方商店安装(推荐) 方法二:本地安装(无需KX上网) 一.什么是油 ...
- chrome+油猴插件+IDM实现百度网盘大文件的高速下载
郑重声明:此篇文章只作为个人学习研究中解决百度网盘下载速度慢的解决方法,不做为任何商业用途,所有工具和实验工具都合法来自于公开互联网,本人支持正版,拒绝盗版.请读者严格遵守相关规定,本人不对他人通过本 ...
- BigSur下Safari14.1.1安装油猴插件(Tampermonkey)
Tampermonkey for mac Safari是一款浏览器扩展和最为流行的用户脚本管理器,Tampermonkey 提供了诸如便捷脚本安装.自动更新检查.标签中的脚本运行状况速览.内置的编辑器 ...
- tampermonkey油猴插件|tampermonkey油猴脚本
让你的电脑浏览器使用起来更加强大吗?那么可以试试tampermonkey油猴插件,这是专门为市面上主流常见的chrome谷歌浏览器.firefox火狐.360浏览器.Microsoft Edge.Op ...
- Chrome安装油猴插件详细教程
Chrome安装油猴插件详细教程 一.油猴安装方法 方法一:Google官方商店安装(推荐,需要科学上网) 方法二:本地安装(无需科学上网,不会科学上网的适用) 二.安装油猴插件 方法一:Google ...
- Edge浏览器安装油猴插件以及好用的插件推荐
目录 一.介绍 二.下载步骤 一.介绍 油猴插件是非常好用的,可以帮助我们解放双手眼睛这些.帮助学习,通过这些 二.下载步骤 1.打开edge浏览器,右上角点击三小点,选择扩展 2.点击这个 3.点击 ...
最新文章
- Windows 2008
- 【ACM】家喻户晓的中药店(待更)
- 解决win7下nodejs安装运行报错:Node.js is only supported on Windows 8.1, Windows Server 2012 R2... 之不支持高版本问题
- Jqgried树形列表
- express模板引擎 html,Express使用html模板的代码分析
- vue 一直加载_Vue无限加载vue-infinite-loading使用详解
- “1天一朵云”,这是如何做到的?
- vbreport8.wpf.viewer 个别电脑不显示_手机听歌不过瘾?一招将Win10电脑变成蓝牙音箱...
- 软工网络15团队作业4——Alpha阶段敏捷冲刺-3
- 堪比ps:Affinity Photo for mac(专业修图软件)
- 深度学习(一)TensorFlow入门教程集合
- veevalidate的使用3.X版本
- 【免费】ArcGIS 10.8 软件下载及手把手安装教程(超详细)
- linux chmod、chown命令不起作用
- 离散数学 习题篇 —— 集合相等与子集关系判断
- Excel的复合条饼图制作
- 金蝶凭证序时簿在哪_怎么用金蝶kis记账王打开会计分录序时簿
- vc调试总是提示项目已过期
- 凯恩斯主义两个重要观念的由来
- 用向量求一个点到一条直线垂足的坐标
热门文章
- 计算机专业知识技能名词,学习计算机知识必须知道的50个专业术语
- Unity 3D官方教程——Adventure Game学习记录
- 深入浅出filament Android编译脚本
- 回归损失函数:Log-Cosh Loss
- 详解DBSCAN聚类
- 将 C# .NET ( Core Framework ) WPF Winform 项目打包成单个 exe 可执行文件
- initramfs实作
- 软件测试技术 实验一:黑盒测试1
- $().each() 与 $.each()区别
- python跑神经网络_程序员深夜用Python跑神经网络,只为用中二动作关掉台灯