aazsjcl 发表于 2020-9-9 11:38

【AutoJS】酷狗大字版做任务脚本

本帖最后由 aazsjcl 于 2020-9-12 08:45 编辑

本人用的手机是华为mate系列,测试可运行,小白第一次发帖,请指教
(脚本再次优化,mate30经测试,可以完美运行,考虑到手机反应速度不一样,里面的延时都改的比较大,手机反应的快的可以改小一点,最后那个结束app的代码需要你们自行去修改,里面有说明)
最新版本貌似不行,一次刷不了20个视频了,特送上旧版本APP地址:https://aazj.lanzoui.com/iI0RIgjoeha
auto();
//1
qidongruanjian();
//2
shuashipin();
//3
yinyueshare();
//4
shipinshare();
//5
killApp("酷狗音乐大字版");



//启动酷狗大字版
function qidongruanjian() {
app.launchApp("酷狗音乐大字版");
sleep(500);
waitForActivity("com.kugou.android.app.MediaActivity"); //等待软件打开主界面
sleep(1000);
back(); //首次打开提示签到成功,点击返回
var a = id("fy7").findOne(); //寻找界面金币图标
click(a.bounds().centerX(), a.bounds().centerY()); //点击金币图标
sleep(500);
swipe(device.width / 2, device.height / 8 * 7, device.width / 2, device.height / 8, 600); //向上滑动屏幕
sleep(500);
}


//刷20个创意视频
function shuashipin() {
for (var n = 1; n <= 20; n++) {
    sleep(500);
    toast("脚本正在刷" + n + "个广告");
    sleep(500);
    click("去赚钱");
    sleep(500);
    while (true) {
      if (id("tt_video_ad_close_layout").findOne(1000) !== null) {
      sleep(500);
      toast("关闭广告");
      id("tt_video_ad_close_layout").findOne().click();
      //sleep(600);
      //waitForActivity("com.kugou.android.app.MediaActivity");
      sleep(2000);
      back();
      break; //跳出while(true)循环
      };
    };
};
};


//音乐分享
function yinyueshare() {
sleep(2000);
click("去分享");
sleep(2000);
waitForActivity("com.kugou.android.app.MediaActivity"); //等待需要分享的音乐界面出现
sleep(2000);
var b = id("evk").findOne(); //寻找音乐分享按钮
click(b.bounds().centerX(), b.bounds().centerY()); //点击音乐分享按钮
sleep(2000);
click("微信"); //点击微信分享
sleep(5000);
waitForActivity("com.tencent.mm.ui.transmit.SelectConversationUI"); //等待分享好友界面出现
var c = id("tm").findOne(); //选择第一个好友
click(c.bounds().centerX(), c.bounds().centerY()); //点击好友分享
sleep(2000);
id("dom").findOne().click(); //点击取消分享
sleep(1500);
back(); //点击返回
sleep(1500);
back();
sleep(1500);
var a = id("fy7").findOne(); //寻找界面金币图标
click(a.bounds().centerX(), a.bounds().centerY()); //点击金币图标
    sleep(1000);
swipe(device.width / 2, device.height / 8 * 7, device.width / 2, device.height / 8, 600); //向上滑动屏幕
};


//视频分享
function shipinshare() {
sleep(2000);
click("去分享");
sleep(2000);
waitForActivity("com.kugou.android.app.MediaActivity"); //等待需要分享的视频界面出现
sleep(2000);
var b = id("ghi").findOne(); //寻找视频分享按钮
click(b.bounds().centerX(), b.bounds().centerY()); //点击视频分享按钮
sleep(2000);
click("微信"); //点击微信分享
sleep(3000);
waitForActivity("com.tencent.mm.ui.transmit.SelectConversationUI"); //等待分享好友界面出现
var c = id("tm").findOne(); //选择第一个好友
click(c.bounds().centerX(), c.bounds().centerY()); //点击好友分享
sleep(1500);
id("dom").findOne().click(); //点击取消分享
sleep(1500);
back(); //点击返回
sleep(1000);
back();
};

//结束app
function killApp(name) {
let forcedStopStr = ["停", "强", "结束"];
let packageName = app.getPackageName(name);
if (packageName) {
    app.openAppSetting(packageName);
    text(name).waitFor();
    for (var i = 0; i < forcedStopStr.length; i++) {
      if (textContains(forcedStopStr).exists()) {
      let forcedStop = textContains(forcedStopStr).findOne();
      if (forcedStop.enabled()) {
          forcedStop.click();
          text("强行停止").findOne().click();//华为手机这个地方是--“强行停止”,其余大部分手机都是--“确定”,自行测试,进行修改
          sleep(800);
          home();
          break;
      }
      }
    }
}
}

魔幻冰扬 发表于 2020-9-9 20:53

aazsjcl 发表于 2020-9-9 15:26
我的理解就是,每过一秒去检测关闭按钮是否存在,存在就去点击,不存在就继续检测。

理解的不对哦,不是每过一秒检测一次,而是在一秒内反复检测,建议看看文档。

以下文档内容

根据当前的选择器所确定的筛选条件,对屏幕上的控件进行搜索,直到屏幕上出现满足条件的一个控件为止,并返回该控件;如果在timeout毫秒的时间内没有找到符合条件的控件,则终止搜索并返回null。

you74222 发表于 2020-9-9 17:12

aazsjcl 发表于 2020-9-9 15:26
我的理解就是,每过一秒去检测关闭按钮是否存在,存在就去点击,不存在就继续检测。

waitForActivity("com.tencent.mm.ui.transmit.SelectConversationUI");里的com.tencent.mm.ui.transmit.SelectConversationUI这个从哪看?

you74222 发表于 2020-9-9 13:24

findOne(1000)请问下,这是什么意思。一直不懂这个

aazsjcl 发表于 2020-9-9 15:26

you74222 发表于 2020-9-9 13:24
findOne(1000)请问下,这是什么意思。一直不懂这个

我的理解就是,每过一秒去检测关闭按钮是否存在,存在就去点击,不存在就继续检测。

you74222 发表于 2020-9-9 17:09

aazsjcl 发表于 2020-9-9 15:26
我的理解就是,每过一秒去检测关闭按钮是否存在,存在就去点击,不存在就继续检测。

明白了。谢谢大佬

aazsjcl 发表于 2020-9-9 20:13

you74222 发表于 2020-9-9 17:12
waitForActivity("com.tencent.mm.ui.transmit.SelectConversationUI");里的com.tencent.mm.ui.transmit. ...

auto.js悬浮窗里面有个设置,点开后,里面有个窗口活动

you74222 发表于 2020-9-9 20:21

aazsjcl 发表于 2020-9-9 20:13
auto.js悬浮窗里面有个设置,点开后,里面有个窗口活动

万分感谢

aazsjcl 发表于 2020-9-10 06:49

魔幻冰扬 发表于 2020-9-9 20:53
理解的不对哦,不是每过一秒检测一次,而是在一秒内反复检测,建议看看文档。

以下文档内容


还好 想要的效果表达出来了 谢谢更正

南下长毛熊 发表于 2020-9-11 07:21

为什么我运行没反应的?{:301_1008:}
页: [1] 2
查看完整版本: 【AutoJS】酷狗大字版做任务脚本