新autoJS写淘宝福年种福果
突然发现带佬写的代码,再看看自己之前写的代码是真的烂,于是在研究完带佬的代码后,做了些细节上的改进和兼容性上的处理。
环境要求
环境:autoJS 4.1.1
安卓版本:7.0或以上
手机分辨率:1080 * 2160(如果你的分辨率我和的不同,可能需要自己手动修改)
代码部分
基本功能已经完成,有几个小缺陷未弥补
- 点击进入农场可能会弹出2个框框,暂未处理。解决方案:请手动关闭后再次运行程序
- 在任务中会有一个去换装的任务,这个暂时没有处理。解决方案:同上
- 在任务中会有一个去首页浏览的任务,这个暂时没有处理。解决方案:同上
auto.waitFor();
setScreenMetrics(device.width, device.height);
if (!launch('com.taobao.taobao')) {
toastLog('请先安装手机淘宝');
}
log('正在进入淘宝,请等待');
waitForActivity("com.taobao.tao.TBMainActivity");
goFarm();
waitForActivity("com.taobao.browser.BrowserActivity");
sleep(3000);
log('准备点击-集福气');
click(random(950, 990), random(1560, 1666))
log('准备签到');
sleep(2000);
//签到
if (text('去签到').exists()) {
text('去签到').findOnce().parent().click();
toastLog('完成签到!');
}
log('准备收集福气');
//浏览
var go_view = textContains('去浏览').findOnce();
if (!go_view) {
sleep(1000);
var count = textContains('已完成').find().size();
if (count > 3) {
toastError('没找到去浏览,存在' + count + "个’已完成‘");
}
}
while (go_view) {
go_view.click();
sleep(5000);
toastLog('当前浏览的是' + go_view.text());
//scrollDown();
swipe(device.width / 2, device.height / 1.5, device.width / 2, device.height / 4, 2000);
sleep(1000 * random(16, 20));
toast("--已完成 " + go_view.text());
back();
sleep(1500);
//为了刷新任务信息,点击关闭×按钮
var close = className('android.widget.Button').clickable().find();
if (close) {
close.click();
sleep(3000);
}
//点集福气
click(970, 1647);
sleep(1500);
go_view = textContains('去浏览').findOnce();
}
toastLog('已结束!');
//进入农场
function goFarm() {
var fl = id('com.taobao.taobao:id/dx_root').findOnce(3);
var ivs = fl.find(clickable());
if (ivs) {
if (!ivs.empty()) {
ivs.get(ivs.size() - 1).click();
} else {
log('进入农场失败,当前位置' + currentPackage());
}
}
}