前言:本程序用于某大学习自动学习并截屏,此脚本仅用于学习交流,不得用于其他用途
大学习打卡脚本可以定时执行,也可以通过Autojs提供的快捷方式一键执行,考虑到大学习一般在周二更新,建议定时在周三凌晨运行

ps:关于Autojs的安装与部署请移步上一篇文章:Autojs的安装与部署

Step1

唤醒手机并输入密码:

var passworld = "123456"
device.wakeUp()//唤醒屏幕
setScreenMetrics(1080, 2340)//设置分辨率
swipe(166,2100,170,1400,500)//滑动解锁
sleep(1000)
var len = passworld.length//密码字符串
for(var i = 0; i<=len;i = i+1){
    click(passworld[i])
}

这里不同手机有不同的参数,请对应修改;

Step2

在执行下面程序之前,请将微信公众号/订阅号发送到桌面快捷方式

打开快捷方式,完成学习之后进入成绩单界面准备截图

sleep(1000)
className("android.widget.TextView").text("江苏共青团").findOne().click()
sleep(3000)
var daxuexi = className("android.widget.TextView").text("大学习").findOne(2000)
click(daxuexi.bounds().centerX(),daxuexi.bounds().centerY())
sleep(3000)
click(500,1800)//点击第几期
sleep(5000)
click(900,1500)//点击确定
sleep(3000)
home()
sleep(1000)
className("android.widget.TextView").text("江苏共青团").findOne().click()
sleep(3000)
click(daxuexi.bounds().centerX(),daxuexi.bounds().centerY())
sleep(3000)
click("学习成绩单")//学习成绩单
sleep(5000)//时间尽量久一点

注意每一次操作后的时间间隔,要保证对应的界面及时加载

Step3

创建线程,这里是为了获取截屏权限并自动点击允许截屏,非线程状态下Autojs不会自动点击“允许”按钮

threads.start(function() {
    var start_button
    sleep(1000)
    if(start_button = classNameContains("Button").textContains("允许").findOne(2000))
    start_button.click()
})//创建线程,为了点击系统的“允许”按钮
//请求截图
if(!requestScreenCapture()){
    toast("请求截图失败")
    exit()
}


在尝试获取截屏权限1000ms之后,会自动点击“允许”

Step4

得到截屏权限之后,开始截屏,截屏路径与系统截屏路径一致,图库需要过一会才能刷新出图片,也可以自行到路径下查看:

sleep(2000)
//截图
var img = captureScreen("/storage/emulated/0/Pictures/Screenshots/" + 1 + ".png")
//图片在屏幕截图Screenshots路径下
sleep(1000)
toast("截图完成")
home()

调试无误后,可以在VScode中通过ctrl+shift+P将代码导入设备中,并按需定时执行:

全部源码下载:青年大学习测试