网上有很多通过auto.js实现朋友圈点赞的,大部分文章都一模一样,找了好久都没找到对特定朋友点赞的脚本,忍不住自己写了一个分享一下,分享代码,新建文件,复制脚本,打开悬浮窗,在对方朋友圈页面点击运行。
有些地方根据手机不同需要微调,不过大部分可以直接使用,手机打字不便,下次再详细讲解过程和思路。
toast(“开始给特定朋友点赞”);
var 点赞总数 = 0;
var 强制滑动次数 = 5;
var 准备点击的纵坐标=new Array()
var 手机纵坐标高度 = 2340;
var 手机横坐标 = 1080;
页面循环点赞();
toast(“点赞结束,总点赞数”+点赞总数);
function 页面循环点赞() {
do {
sleep(1000);//等待向下滑动操作
var 可否下滑=true;
//对该页面寻找月字定位
var 当前页面出现月=textEndsWith("月").find();
console.log("当前页面出现多少个月字" + 当前页面出现月.length);
//计算需要点击的坐标集合
if (!当前页面出现月.empty()) {
item=当前页面出现月[0];
var 横坐标=item.bounds().centerX();
var 纵坐标=item.bounds().centerY();
console.log("第一条信息出现的坐标"+横坐标+"---"+纵坐标);
if(纵坐标<350){
for(var i =0;手机纵坐标高度>400; i++){
手机纵坐标高度=手机纵坐标高度-50;
准备点击的纵坐标[i]=手机纵坐标高度;
}
console.log("纵坐标<350"+准备点击的纵坐标);
}else{
for(var i =0;手机纵坐标高度>900; i++){
手机纵坐标高度=手机纵坐标高度-50;
准备点击的纵坐标[i]=手机纵坐标高度;
}
console.log("纵坐标>350"+准备点击的纵坐标);
}
手机横坐标=横坐标+100;
}
//对当前页面进行循环点击
for(i = 0;i< 准备点击的纵坐标.length;i++) {
press(手机横坐标,准备点击的纵坐标[i],50);
sleep(300);//跳转到具体朋友圈适网速等待
if (className("android.widget.TextView").text("赞").exists()) {
console.log("---常规图片,并且跳过200");
className("android.widget.TextView").text("赞").findOne().parent().click();
sleep(100);
desc("返回").findOne().parent().click();//返回
sleep(100);
点赞总数++;
i+=4;
}else if(className("android.widget.TextView").text("取消").exists()){
console.log("---常规图片已经点过赞了,直接返回,并且跳过200");
desc("返回").findOne().parent().click();//返回
sleep(100);
i+=4;
}
else if(text("评论").exists()){
console.log("---新闻转载模式,并且跳过100");
className("android.widget.ImageButton").findOne().click();
sleep(300);
if (className("android.widget.TextView").text("赞").exists()) {
item=className("android.widget.TextView").text("赞").findOne();
var 横坐标=item.bounds().centerX();
var 纵坐标=item.bounds().centerY();
press(横坐标,纵坐标,50);
sleep(200);
点赞总数++;
}
desc("返回").findOne().parent().click();//返回
sleep(100);
i+=2;
}
}
//统计点赞,设置下滑操作并避免卡死
toast("已赞个数:" + 点赞总数);
console.log("原始可否下滑" + 可否下滑);
可否下滑=className("android.widget.ListView").findOne().scrollForward();
console.log("尝试第一次可否下滑" +可否下滑);
if (!可否下滑) {
//手动上滑避免卡死
sleep(1000);
swipe(540,2000,540,500,1000);
强制滑动次数--;
while (textStartsWith("正在加载").exists()) {
sleep(1000);
可否下滑=className("android.widget.ListView").findOne().scrollForward();
console.log("尝试第二次可否下滑" +可否下滑);
if (!可否下滑) {
//出现正在加载,并且自动下滑失败,手动上滑避免卡死
sleep(1000);
swipe(540,2000,540,500,1000);
强制滑动次数--;
}
console.log("卡在正在加载,触发手动下滑");
}
可否下滑=true;//默认为true
}
if (textStartsWith("朋友仅展示").exists()) {
可否下滑=false;
console.log("已经到底了,出现朋友仅展示等字样");
}
console.log("注意--强制滑动次数--"+强制滑动次数);
if (强制滑动次数<0) {
可否下滑=false;
console.log("已经到底了,强制滑动次数为0");
}
} while (可否下滑);
}