使用auto.js实现自动化每日打卡功能

 更新时间:2021年08月11日 10:18:37   作者:草莓味的屁  
这篇文章主要介绍了使用auto.js实现自动化每日打卡,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

使用auto.js实现自动化每日打卡

疫情原因,需要在家每天定时打卡,每天刚起床的时候避免不了出现注意力不集中或者是看不到app,点不到按钮什么的(我瞎说的)。

所以,就想搞一个自动化操作的东西,省去了这劳神费力的每日打卡。

说干就干,于是乎就想起了之前双十一写的叠猫猫的无障碍脚本,所以这个还是不在话下的。

用到的工具库:auto.js

因为auto.js需要依赖安卓手机上的无障碍操作。所以目前只支持安卓手机并且需要在安卓6.0以上,这个官方网站都有详细介绍,我就不在此过多赘述了。多说一下,这个auto.js作者在19年的时候就不在维护了,所以我选择的另一个接手auto.js的库:autox.js,他们两个都是大同小异的,用哪一个也不影响啦。

实际操作

首先需要保证电脑和手机在同一网络下,并且电脑上安装vscode,搜索插件“auto.js”去安装。你也可以在手机上编辑代码,但是这样实在是不方便。安装完成后按下“cmd+shift+P”,输入“auto”,下面列表里会出现相关设置,点击"开启服务",即可在电脑上编辑auto.js代码.

手机上需要打开设置点击“连接到电脑”,输入电脑ip,即可在电脑端看到新设备连接的提示。(注意必须首先要在电脑选择开启服务后才能连接)

接下来就可以利用手机端的auto.js对各个页面进行调试以及布局分析了。

写好代码以后点击vscode上的保存到所有设备,刚才电脑上的代码就同步到手机啦。点击插件的运行按钮就可以看到运行的全过程。

对于脚本的编写和操作也有大把的教程,我只是作为这一个需求而写的代码,也没有过多深究,有兴趣的可以自己去学习。这里只说一下我遇到的一些问题。

  • 当一个页面的组件状态有两个是一样的,就需要通过写死坐标来点击了。手机开启开发人员选项中的“指针位置”就可以清楚的看到当前手指触摸的位置坐标啦。
  • 有的时候按钮的clickable属性不可用,可以试试click(“需要点击的文字”),会有奇效。

最后,写完的脚本可以利用auto.js的“打包应用”进行打包和分发了。

最后的最后,奉上代码:

auto()
auto.waitFor();
console.show(true);//打开控制台
console.log("i轻工大自动打卡脚本");
console.log("version--------1.1");
console.log("autuer---zhaosheng");
app.launch('io.cordova.zhqy')
console.log("已打开app");

sleep(5000);
//点击应用服务
var fuwu = text("应用服务").findOnce();
fuwu.click();
console.log("选择应用服务");
sleep(2000)
console.log("点击疫情防控");
click("疫情防控")
sleep(2000)
// 2.居家学习
className("android.view.View").depth(11).desc("home").findOne().click();
console.log("点击居家学习");
// id("home").findOne().click()
sleep(1500)
//健康日报
// click(222,945)
console.log("点击健康日报");
click("健康日报")
sleep(2000)
//选择当前日期
// 1.获取当天日期 
console.log("计算当前日期");
var myDate = new Date();
let day =  myDate.getDate();  //对应页面数字
if(day < 10){
   day = "0"+day
   console.log("当前为:"+day);
}
// alert(day)
click(day)
console.log("点击立即打卡");
click("立即打卡")
sleep(3000)
click("点击获取当前位置")
sleep(2000)
click(244,2130)
sleep(3000)
swipe(550,1925,550,465,2000)
swipe(550,1925,550,465,2000)
sleep(2000)
click(493,2095)
sleep(2000)
click(764,1638)

到此这篇关于使用auto.js实现自动化每日打卡的文章就介绍到这了,更多相关auto.js自动化每日打卡内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • ztree获取当前选中节点子节点id集合的方法

    ztree获取当前选中节点子节点id集合的方法

    这篇文章主要介绍了ztree获取当前选中节点子节点id集合的方法,实例分析了ztree的方法transformToArray使用技巧,需要的朋友可以参考下
    2015-02-02
  • JS获取当前时间实例代码(年月日时分秒)

    JS获取当前时间实例代码(年月日时分秒)

    在javascript中,可以使用Date对象中的Date()方法来获取当前时间,下面这篇文章主要给大家介绍了关于JS获取当前时间(年月日时分秒)的相关资料,需要的朋友可以参考下
    2022-09-09
  • uniapp小程序的图片(视频)上传的组件封装方法

    uniapp小程序的图片(视频)上传的组件封装方法

    这篇文章主要介绍了uniapp做小程序的图片(视频)上传的组件封装,要求实现多张图片的上传 ,可以限制图片上传的数量,图片预览,多次使用对图片的上传顺序排序,需要的朋友可以参考下
    2024-02-02
  • uniapp分包(小程序分包)处理图文详解

    uniapp分包(小程序分包)处理图文详解

    小程序上传的时候,主包不能超过2M,如果超出,则会上传失败,这时候就需要把界面进行分包,下面这篇文章主要给大家介绍了关于uniapp分包(小程序分包)处理的相关资料,需要的朋友可以参考下
    2023-01-01
  • ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法

    ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法

    这篇文章主要介绍了ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • 如何在webpack项目中调试loader插件

    如何在webpack项目中调试loader插件

    最近在学习webpack,本文主要介绍了loader插件的调试方法,需要的朋友们下面随着小编来一起学习学习吧
    2021-06-06
  • JavaScript事件机制的剖析与优化详解

    JavaScript事件机制的剖析与优化详解

    在现代前端开发中,JavaScript事件处理是一个至关重要的部分,它能够使网页与用户交互,实现丰富的交互体验,然而,对JavaScript事件机制的深入理解是开发者成为优秀前端工程师的关键所在,本文将全面剖析JavaScript事件机制,需要的朋友可以参考下
    2023-12-12
  • WebSocket的简单介绍及应用

    WebSocket的简单介绍及应用

    因此,如果让服务器端也可以主动发送信息到客户端,就可以很大程度改进这些不足。WebSocket就是一个实现这种双向通信的新协议。下面小编来简单介绍下它
    2019-05-05
  • 微信小程序实现点击出现弹窗

    微信小程序实现点击出现弹窗

    这篇文章主要为大家详细介绍了微信小程序实现点击出现弹窗,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JavaScript中数组成员的添加、删除介绍

    JavaScript中数组成员的添加、删除介绍

    这篇文章主要介绍了JavaScript中数组成员的添加、删除介绍,本文主要讲解push()、unshift()、pop()、shift()等函数的应用,需要的朋友可以参考下
    2014-12-12

最新评论