【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;
}
}
}
}
}
aazsjcl 发表于 2020-9-9 15:26
我的理解就是,每过一秒去检测关闭按钮是否存在,存在就去点击,不存在就继续检测。
理解的不对哦,不是每过一秒检测一次,而是在一秒内反复检测,建议看看文档。
以下文档内容
根据当前的选择器所确定的筛选条件,对屏幕上的控件进行搜索,直到屏幕上出现满足条件的一个控件为止,并返回该控件;如果在timeout毫秒的时间内没有找到符合条件的控件,则终止搜索并返回null。 aazsjcl 发表于 2020-9-9 15:26
我的理解就是,每过一秒去检测关闭按钮是否存在,存在就去点击,不存在就继续检测。
waitForActivity("com.tencent.mm.ui.transmit.SelectConversationUI");里的com.tencent.mm.ui.transmit.SelectConversationUI这个从哪看? findOne(1000)请问下,这是什么意思。一直不懂这个 you74222 发表于 2020-9-9 13:24
findOne(1000)请问下,这是什么意思。一直不懂这个
我的理解就是,每过一秒去检测关闭按钮是否存在,存在就去点击,不存在就继续检测。 aazsjcl 发表于 2020-9-9 15:26
我的理解就是,每过一秒去检测关闭按钮是否存在,存在就去点击,不存在就继续检测。
明白了。谢谢大佬 you74222 发表于 2020-9-9 17:12
waitForActivity("com.tencent.mm.ui.transmit.SelectConversationUI");里的com.tencent.mm.ui.transmit. ...
auto.js悬浮窗里面有个设置,点开后,里面有个窗口活动 aazsjcl 发表于 2020-9-9 20:13
auto.js悬浮窗里面有个设置,点开后,里面有个窗口活动
万分感谢 魔幻冰扬 发表于 2020-9-9 20:53
理解的不对哦,不是每过一秒检测一次,而是在一秒内反复检测,建议看看文档。
以下文档内容
还好 想要的效果表达出来了 谢谢更正 为什么我运行没反应的?{:301_1008:}
页:
[1]
2