• 基于autojs,实现每日自动报送学习积分


    前言:

    最近要求每天在微信小程序上学文章、看视频。 学完之后,要求上报学习积分。通过调试,我发现这个微信小程序,可以 通过autojs中对控件的操作,轻松获取学习积分,那么自动报送学习积分的灵感就来了。

    开发环境:

    autojs: 4.11 (低版本的就对了)
    手机:小米10
    安卓版本:12
    MIUI版本: 13

    演示视频:

    基于autojs实现每日自动报送学习积分

    正文:

    1、通过autojs控件操作,抓取分数页面

    如下图,通过分析此页面,发现此控件中的 text()函数不为空,这说明,它是有数值存在的。
    在这里插入图片描述
    那么,我就通过边界值bounds()的方式,先找到该控件。

    	bounds(374,345,706,507).findOne(2000);
    
    • 1

    学过autojs的可能会问?
    1、为什么不通过id、indexInParent、className去查找这个分数控件?
    因为,通过截图大家也可以看出来,这个界面的控件太多了。所以,我通过这个控件在屏幕的边界值的方式,找到这个控件。
    2、为什么你提供的截图里不显示bounds()值?
    因为每个人的手机,分数控件在屏幕中的位置,都是不一样的。
    这就需要你拿起autojs控件去调试,所以,我这里只是提供一种思路。
    3、为什么是findOne(2000)?
    这就涉及到autojs的知识了,如果findOne( )里的参数值为空,autojs一旦根据边界值找不到分数控件,就会死循环。这里写上2000ms,表示2秒之内找不到,就自动结束寻找。

    然后,我通过新建变量x去接收这个控件,通过x.text()的方法,抓取到每日学习积分。

    	var x =bounds(374,345,706,507).findOne(2000);
    	console.log(x.text());
    
    • 1
    • 2

    2、通过手机系统剪切板,报送分数

    要想实现分数报送,那就需要把第一步抓取的分数,复制到剪切板,然后粘贴到你需要报送的APP上。
    这里,我选择报送的APP是微信。
    通过setClip()函数粘贴

    	var y =x.text();
    	setClip("今日学习分数:"+ y);
    
    • 1
    • 2

    通过paste()函数粘贴

    	var y =desc("微信").findOne(2000);
    		y.click();
    	click(666,666);//这里填写的是你的  文件助手在手机中的坐标值
    	paste();//这里直接粘贴就行了
    
    • 1
    • 2
    • 3
    • 4

    需要注意的就是,安卓10以上的系统,提高了对剪切板的访问权限,可能你的手机不让autojs把抓取的分数,粘贴到剪切板上。
    这一点要尤为注意。

    完整代码

    	var x =bounds(374,345,706,507).findOne(2000);//找到分数控件
    	var y =x.text();
    	setClip("今日学习分数:"+ y);//复制分数
    	sleep(1000);
    	home();//回到系统桌面
    	desc("微信").findOne(2000).click();//打开微信
    	sleep(1000);
    	click(543,2258);//点击输入框
    	paste();//粘贴分数
    	sleep(200);
    	click(979,1303);//找到发送位置的坐标
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    每天都是下了班🚌,
    拖着疲惫的身躯😴,
    分享我的创作的🔑。
    希望大家能点个关注📌,
    或者赞赏支持下作者🎁,
    激励我去努力的创作🤭。

  • 相关阅读:
    C++ 基础入门 之 注释 ( // 和 /**/ )/变量 /常量 ( #define 和 const )/关键字/标识符(变量名)命名规则
    资产管理5大漏洞,你中了几个?
    vue.js毕业设计,基于vue.js前后端分离在线教育视频点播小程序系统 开题报告
    LeetCode 面试经典150题 26.删除有序数组中的重复项
    嵌入式学习笔记(48)什么是I2C通信
    系统架构设计师之系统应用集成
    【RabbitMQ 实战】10 消息持久化和存储原理
    华为OD机试真题 Java 实现【数组二叉树】【2023 B卷 200分】,附详细解题思路
    Android 按钮点击设置静音
    备战数学建模49-深度学习之长短期记忆网络LSTM(RNN)(攻坚战14)
  • 原文地址:https://blog.csdn.net/qq_25953411/article/details/125610015