"auto";//自动打开无障碍模式
launch("com.tencent.mm");//打开微信
sleep(2000);
toast('微信已打开');//消息提示
click("通讯录");
sleep(1000);
click("XX人的微信号");//XX人的微信号
sleep(1000);
home();//回到手机主页
模拟点赞:
实例代码
function enterWechatMoment() {
app.launch("com.tencent.mm");
//确保返回到微信主界面
sleep(200);
click(692,2073);
// 连续按多次返回,确保回到网协主界面
for (var i = 0; i < 5; i++) {
click(50,140);
sleep(100);
}
sleep(50);
// 点微信 发现
click('发现');
sleep(50);
// 点朋友圈入口
click('朋友圈');
sleep(1000);
}
function registEvent() {
//启用按键监听
events.observeKey();
//监听音量上键按下
events.onKeyDown("volume_down", function(event){
toast("脚本手动退出");
exit();
});
}
function prepare() {
// 双击顶部更新朋友圈
click(500, 150);
sleep(100);
click(500, 150);
// 等2s 微信朋友圈更新完成
sleep(3000);
// 向下滑至第一条朋友圈
swipe(550, 1200, 550, 200, 200);
if(!requestScreenCapture()){
tLog("请求截图失败");
exit();
}
var image = captureScreen();
sleep(2000);
}
function clickLike() {
sleep(1000);
// 这里是需找到可以滚动的控件:ListView,className是不会改变的,这样写出来的程序会比较稳定
var scroll=className("ListView").findOne();
// 子控件
var scroll_thing=scroll.children();
// 遍历子控件
scroll_thing.forEach((item,position)=>{
var comment = item.findOne(desc("评论"));
if(comment){
comment.click();
sleep(200)
// 根据当前的选择器所确定的筛选条件,对屏幕上的控件进行搜索,如果找到符合条件的控件则返回该控件;否则返回null
click("赞")
sleep(500);
}
});
// 直接调用向下滚动的方法
scrollDown();
sleep(1000);
return true;
}
//程序主入口
function start(){
//注册音量键上被按下时退出脚本的执行
registEvent();
// 确保进入微信朋友圈
enterWechatMoment();
//prepare();
clickLike();
var retry = 3;
var cnt = 0;
toast("本次总共点赞" + cnt + "条");
// 返回微信主界面
//click(50,140);
home();
exit();
}
start();
案例二:
需要手工打开朋友圈
// 使得程序可以一直运行,向下滚动
while(true){
dianzan();
}
// 点赞当前页面的动态
function dianzan(){
// 这里是需找到可以滚动的控件:ListView,className是不会改变的,这样写出来的程序会比较稳定
var scroll=className("ListView").findOne();
// 子控件
var scroll_thing=scroll.children();
// 遍历子控件
scroll_thing.forEach((item,position)=>{
var comment = item.findOne(desc("评论"));
if(comment){
comment.click();
sleep(200)
// 根据当前的选择器所确定的筛选条件,对屏幕上的控件进行搜索,如果找到符合条件的控件则返回该控件;否则返回null
click("赞")
sleep(500);
}
});
// 直接调用向下滚动的方法
scrollDown();
sleep(1000);
}