本帖最后由 v0id 于 2019-10-25 07:05 编辑
10.25 更新个适合控件属性是Text的看最下方下载链接
如何判断自己的属性:
如果中间会停,你就检查下哪一步不执行,再查看是text还是desc属性,自己改代码就可以了。(如果动不了的,点布局范围分析没有那些文字框框的 可以先进去领一次金币再出来就可以了)
autojs 4.1.1,安装后,开启全部权限包括悬浮窗。
小米8 ,无需root。
看到有人发了淘宝的活动的脚本,虽然我淘宝也写了,还包括自动切号助力的(需要多个小号)、自动浏览的,有需要我再发出来。发这个京东给大家学习下。用了几天了,很稳定,已经18级了。
autojs 脚本淘宝喵币活动 批量小号为批量大号完成助力任务 :https://www.52pojie.cn/thread-1042817-1-1.html 有需要的也可以看看
注:该版本不涉及具体坐标,根据控件属性操作的,部分机型文本属性会在text,部分是desc,该版本是desc的,如果你发现自己机型那些文本属性在text的,可以自己修改。
理论上安卓7.0以上的安卓系统都能适用,个别机型自己测试修改。
单独账号版:手动开启京东————进入活动————打开”领金币“—————通过autojs悬浮窗执行脚本
[JavaScript] 纯文本查看 复制代码 auto.waitFor();//检查无障碍服务是否启动
console.show();
console.setPosition(500,100);
sleep(100)
console.setSize(600,600)
sleep(1000)
taskA()
sleep(1000)
taskB()
sleep(1000)
taskC()
sleep(1000)
taskD()
sleep(1000)
taskF()
function taskA() //逛逛好店 25
{
log('开始任务①...')
var task1=descContains("逛逛好店").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=25; i++)
{
if(i==25)
{
log("该任务已完成。")
break;
}
clickCenter(descContains("逛逛好店").findOne());
sleep(1000)
var fh=idContains("fd").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
function taskB()//精彩会场 3
{
log('开始任务②...')
var task1=descContains("精彩会场").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=3; i++)
{
if(i==3)
{
log("任务②已完成。")
break;
}
clickCenter(textContains("精彩会场").findOne());
sleep(1000)
var fh=desc("返回").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
function taskC()//精选好物 25
{
log('开始任务③...')
var task1=descContains("精选好物").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=25; i++)
{
if(i==25)
{
log("任务③已完成。")
break;
}
clickCenter(descContains("精选好物").findOne());
sleep(1000)
var fh=desc("返回按钮").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
function taskD()//更多好玩互动 4
{
log('开始任务④...')
var task1=descContains("更多好玩互动").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=4; i++)
{
if(i==4)
{
log("任务④已完成。")
break;
}
clickCenter(descContains("更多好玩互动").findOne());
sleep(1000)
var fh=desc("返回").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
function taskF()//看京东推荐 4
{
log('开始任务⑥...')
var task1=descContains("看京品推荐官").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=4; i++)
{
if(i==4)
{
log("任务⑥已完成。")
break;
}
clickCenter(descContains("看京品推荐官").findOne());
sleep(1000)
var fh=idContains("a6h").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
function clickCenter(obj) {
let b = obj.bounds()
return (click(b.centerX(), b.centerY()))
}
=======================================================================
批量自动切换账号自动做任务代码(登录格式必须是账号密码 不可以是微信QQ登录)保证京东处于首页状态即可。
function openJdToLogin() 在京东APP处于首页的状态下,可以自动退出当前账号至登录页
function Login(name,password) 自动登录京东账号
function togame() 进入活动打开领金币 ,其中领金币是按点击手机坐标的,代码第96行。 自己根据手机设置
[JavaScript] 纯文本查看 复制代码 auto.waitFor();//检查无障碍服务是否启动
console.show();
console.setPosition(500,100);
sleep(100)
console.setSize(600,600)
app.launchApp("京东")
var accounT = ["账号1",
"账号2",
"账号3"
],
passworD = ["密码1",
"密码2",
"密码3"
];
for (let i = 0; i < accounT.length; i++)
{
//log("开始登陆" + accounT[i]);
log("开始登陆:第" +(i+1)+ "个账号");
openJdToLogin()
sleep(500)
Login(accounT[i], passworD[i])
sleep(500)
togame()
sleep(500)
takeTask();
log("该号任务完成,切号...")
sleep(500)
quitGame()
}
log("全部完成")
function openJdToLogin()
{
var sy=desc("我的").findOne()
clickCenter(sy);
var sz=idContains("ag2").findOne()
clickCenter(sz);
//log('1')
var tc=text("退出登录").findOne()
sleep(1000)
clickCenter(tc);
sleep(1000)
//log('2')
var qd=text("确定").findOne()
clickCenter(qd);
sleep(1000)
//log('3')
var dl=text("登录/注册").findOne()
clickCenter(dl);
sleep(500)
//log('4')
var dl1=text("账号密码登录").findOne()
clickCenter(dl1);
sleep(500)
//log('5')
}
function Login(name,password)
{
setText(0, name);
sleep(500)
setText(1, password);
sleep(500)
var dl2=text("登录").findOne()
clickCenter(dl2);
sleep(500)
//log('6')
var sy=desc("首页").findOne()
clickCenter(sy);
log('登录成功')
}
function togame()
{
var game=desc("浮层icon").findOne();
if(game)
{
clickCenter(game);
text("全民养红包").waitFor()
sleep(3000);
click(975,1800) //"领金币"的坐标
textContains("逛逛好店").waitFor();
}
}
function takeTask()
{
sleep(1000)
taskA()
sleep(1000)
taskB()
sleep(1000)
taskC()
sleep(1000)
taskD()
sleep(1000)
taskF()
}
function quitGame()
{
var fh=desc("返回").findOne();
sleep(500)
clickCenter(fh);
}
function clickCenter(obj) {
let b = obj.bounds()
return (click(b.centerX(), b.centerY()))
}
function taskA() //逛逛好店 25
{
log('开始任务①...')
var task1=descContains("逛逛好店").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=25; i++)
{
if(i==25)
{
log("该任务已完成。")
break;
}
clickCenter(descContains("逛逛好店").findOne());
sleep(1000)
var fh=idContains("fd").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
function taskB()//精彩会场 3
{
log('开始任务②...')
var task1=descContains("精彩会场").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=3; i++)
{
if(i==3)
{
log("任务②已完成。")
break;
}
clickCenter(textContains("精彩会场").findOne());
sleep(1000)
var fh=desc("返回").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
function taskC()//精选好物 25
{
log('开始任务③...')
var task1=descContains("精选好物").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=25; i++)
{
if(i==25)
{
log("任务③已完成。")
break;
}
clickCenter(descContains("精选好物").findOne());
sleep(1000)
var fh=desc("返回按钮").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
function taskD()//更多好玩互动 4
{
log('开始任务④...')
var task1=descContains("更多好玩互动").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=4; i++)
{
if(i==4)
{
log("任务④已完成。")
break;
}
clickCenter(descContains("更多好玩互动").findOne());
sleep(1000)
var fh=desc("返回").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
function taskF()//看京东推荐 4
{
log('开始任务⑥...')
var task1=descContains("看京品推荐官").findOne();
var count;
if(task1)
{
count=task1.desc().match(/\d+(?=\/)/);
// count=count[0].match(/\d+/)[0];
}
log("已完成"+count+"次");
for (i = parseInt(count); i <=4; i++)
{
if(i==4)
{
log("任务⑥已完成。")
break;
}
clickCenter(descContains("看京品推荐官").findOne());
sleep(1000)
var fh=idContains("a6h").findOne();
if(fh)
{
clickCenter(fh)
}
sleep(500)
var ok=desc("朕知道了").findOne()
sleep(1000)
if(ok)
{
ok.click();
log("已完成"+(i+1)+"次");
}
sleep(1000)
}
}
下载地址: autojs4.1.1+批量切换账号执行任务的脚本+单独一号执行脚本。适合控件属性是desc的 https://www.lanzouj.com/i6y2haj
更新个单独一号执行脚本,适合控件属性的text的:https://www.lanzouj.com/i6yhfah
|