本帖最后由 呆恶龙 于 2020-1-26 17:17 编辑
第一次发帖,版规看了好几遍。如还有违规...那我可能是个傻子
这些天全城警戒,一直在家呆着无聊,就把autoJs的文档看了一遍。正好赶上某宝的集字活动,虽说任务需要时间不长,想着在家闲着也是闲着,不如写个脚本练练手。于是就写了这么个东西,和大家一起学习,大神轻喷。
功能简介
很简陋,就只有做浏览15s任务的功能,做完后会弹窗提示,最后一个任务需要手动完成。毕竟只是个短期活动,就不做得太完备了,如果有兴趣可以自己把剩下的功能加上。
脚本说明
- 怎么用应该不用细说了,论坛里很多大佬都讲得很详细。简单说就是把整个项目文件夹放到手机根目录下的脚本文件夹里,运行main.js即可。
- 我在脚本开头加入了自动打开某宝并返回主页的功能,因此在大部分情况下启动脚本都可以正常运行。
- 如果某宝启动设置了指纹密码,很可能会导致脚本出错。所以最好还是在某宝主页运行脚本
- 测试手机分辨率为720*1280(为了省电所以调低了),不是一般的1080*1920。脚本中加入了根据分辨率自动缩放坐标的函数,点击位置应该不会有差错。但是用于识别的图片可能需要重新截取。
识别用图片
源码如下
auto();
requestScreenCapture();
setScreenMetrics(720,1280);
//载入需要识别的图片
function load(img){
var t = images.read("./res/" + img + ".png");
if(t == null){
toast(img + " not found");
exit();
}
return t;
}
var rocket = load("rocket");
var my1 = load("my1");
var my2 = load("my2");
var entrance = load("entrance");
var end = load("end");
var take = load("take");
launchApp("手机淘宝");
//回到淘宝主界面
do{
var m1 = findImage(captureScreen(),my1);
var m2 = findImage(captureScreen(),my2);
if(m1 || m2){
break;
}
back();
sleep(2000);
}while(1)
//通过左下角点击小火箭返回到顶部
var p1 = findImage(captureScreen(),rocket);
while(!p1){
while(!click(75,1230));
sleep(1000);
p1 = findImage(captureScreen(),rocket);
}
while(!click(p1.x+ 50,p1.y + 50));
sleep(1000);
//下滑到入口位置
swipe(360,1150,360,150,1000);
sleep(1000);
var p2 = findImage(captureScreen(),entrance);
while(!click(p2.x + 50,p2.y + 50));
sleep(1000);
while(!click("获取更多"));
sleep(1000);
//打卡任务
if (click("去打卡")){
sleep(1000);
var p3 = findImage(captureScreen(),take);
while(!p3) {
p3 = findImage(captureScreen(),take)
}
click(p3.x + 10,p3.y + 10);
}
//浏览任务
while(click("去完成",0)){
sleep(1000);
while(1){
if(textContains("完成").exists() || descContains("完成").exists()){
toast("任务完成,返回");
back();
sleep(1000);
break;
}
var p4=findImage(captureScreen(),end);
if(p4){
alert("浏览任务已完成,\n请手动完成抽礼盒任务!");
exit();
}
if(textContains("纽扣").exists()){
alert("浏览任务已完成,\n请手动完成纽扣兑换任务!");
exit();
}
}
}
sleep(1000);
if (click("去看看")){
alert("浏览任务已完成,\n请手动完成换装任务!");
exit();
}
|