auto.js的学习(微信朋友圈点赞实现)
流程实现
运行环境: auto.js4.00 Beta(需要这个版本的话评论或者私聊我)
1.启动无障碍服务
auto.waitFor();
检查无障碍服务是否已经启用,如果没有启用则跳转到无障碍服务启用界面,并等待无障碍服务启动;当无障碍服务启动后脚本会继续运行。
2.进入朋友圈页面的过程
launchApp("微信");//启动微信,参数就是App的全名text("发现").findOne().parent().click();text("朋友圈").findOne().parent().click();sleep(1000);
- 布局范围分析
- 找到发现的控件,text属性:发现,clickable属性市false,不可点击,则找到他的上一级控件(父控件),属性是可点击的
- 朋友圈的点击同理
- sleep 1秒钟,等待页面加载完
3.单个点赞按钮的点击
- 布局分析,对能够点开 ’赞‘ 和 ’评论‘ 控件的按钮布局分析,可以根据desc属性锁定
- ’赞‘ 的流程和 ’发现‘ 控件一样,找他的父组件
text("赞").findOne().parent().click();
#### 3.滑动控件集合的查找 [find()](https://hyb1996.github.io/AutoJs-Docs/#/widgetsBasedAutomation?id=uiselectorfind)
- 每一个滑动组件都包含 desc属性时 “评论” 的描述,根据这一点可以找到当前页面的所有滑动控件,调用 find()
,返回一个数组。
comment = desc("评论").find();
- 遍历该数组,每循环一次,判断 “赞” 的控件是否存在,存在则点击,否则进行下次循环
comment.forEach(item => { console.log("找到一个评论控件"); item.click(); })
if (text("赞").exists()) { text("赞").findOne().parent().click(); }
4.将代码放入大的循环体,滑动成功,执行
5.整体代码
auto.waitFor();var sum = 0;console.show();launchApp("微信");//启动微信text("发现").findOne().parent().click();text("朋友圈").findOne().parent().click();sleep(1000);scoll();//调用执行方法function scoll() { do { sleep(2000);//暂停2秒 等页面滑动执行完成 //当前页面逻辑 comment = desc("评论").find(); if (!comment.empty()) { console.log("找到评论集合了"); comment.forEach(item => { console.log("找到一个评论框"); var b = item.click(); console.log(b ? "点击评论成功" : "点击评论失败"); sleep(1000); if (className("android.widget.TextView").text("赞").exists()) { className("android.widget.TextView").text("赞").findOne().parent().click(); sleep(1000); sum++; console.info("已赞个数:" + sum); } }) } } while (className("android.widget.ListView") .findOne().scrollForward());}
赞 (0)