本帖最后由 暗夜协奏者 于 2019-10-31 20:26 编辑
本来以为我一直是个伸手党,默默的拿着大佬的东西。
今天看到有人发auto.js的脚本,我看完后,感觉不能适用于所有的手机,所以,我自己写了一份脚本,理论上支持所有手机
软件我用的是auto.js4.0.1
教程:下载软件,给软件无障碍服务,还有悬浮窗、通知栏、后台运行等权限都要给
1.下载js文件并导入,点击运行即可
或者
2.直接复制下面的代码,新建一个文件,粘贴进去,保存再点击运行即可
不过有些人的反馈我一直找不到原因,我把同学们的手机都借遍了,几乎没发现大的问题,反馈时,最好加上脚本卡住或者终止的截图
2019/10/25
感谢homeww反馈,已修改
今天晚上有人提醒我淘宝界面有变,所以有一行代码失效了,不过还好,目前还在我能控制的范围内,京东脚本问题就多了去,还在修改
2019/10/26更新
感谢 深港、兄弟:加强版第38行代码sleep(3000)括号为是中文括号
已修改
感谢Huggo1995的提醒,解决了进入目标界面的问题,终于可以统一了
新增签到以及修复逛店只浏览一次的问题
2019/10/27更新
修农场签到问题,但是那个进入不知名活动导致不能返回的,还是没想到办法解决
优化了部分代码
30个店铺的签到正在写,现在问题还比较大
2019/10/28更新
另外写了30个店铺的签到,不过没有加识别是否签到,意外终止后就不能用了,正在改
加入了识别是否签到了,不会因为意外中断而不能用
2019/10/29
我以前一直以为有些人手机卡在挂件那里是因为手机设置,后来发现的确是不同手机的挂件参数不一致,应该是解决了这个问题
感谢sharokku4869、Oo不弃的反馈和测试
感谢panzixiang提醒,那几个特殊的签到解决了
2019-10-30
感谢sharokku4869的反馈,现在解决了那个万恶的回到淘宝首页15S的那个问题
原来的“去进店”变成了“去浏览“,已修改
增加有个去淘宝首页15S的判断,不会因为那个再停止了
2019-10-31
下午的活动界面略有变动,导致点不了“领喵币”挂件(已修复)
感谢sharokku4869的反馈,修复农场签到问题
感谢spbjsp反馈,上传的有点急了,中间部分没有改
自动签到脚本:这个有人反馈说返回手机主页后打不开淘宝了,我感觉应该是手机设置里的相互唤醒功能被关了,你们可以找找,这两天作业比较多,没太多时间回复反馈,请见谅
[Asm] 纯文本查看 复制代码
auto()
var str = "";
str += "屏幕宽度:" + device.width
str += "\n屏幕高度:" + device.height;
toast("屏幕宽度为"+device.width+" "+"屏幕高度为"+device.height);
//获取设备信息
launchApp("手机淘宝");
toast("打开手机淘宝中");
sleep(8000)
waitForActivity("com.taobao.tao.TBMainActivity")
//等待主页完全打开
//className("android.widget.LinearLayout").desc("捉猫猫").findOne().click()
//上面这句只适用于淘宝界面上面有“20亿”字样,不适用于所有人(可能以后会全部变成20亿,暂且保留)
//className("android.widget.FrameLayout").depth(3).drawingOrder(3).indexInParent(2).findOne().click()
className("android.view.View").desc("搜索").clickable(true).findOne().click()
sleep(2000)
id("searchEdit").waitFor()
id("searchEdit").findOne().setText("双十一合伙人")
id("searchbtn").waitFor()
id("searchbtn").findOne().click()
waitForActivity("com.taobao.browser.BrowserActivity")
//判断当前界面是否为目标界面
toast("这个地方等待时间大概是8S,不要以为脚本停了")
sleep(8000)
//className("android.view.View").depth(14).indexInParent(5).boundsInside(0, device.height / 2, device.width, device.height).findOne().click()
//点击“领喵币”挂件
//貌似这个地方不是所有人都可以找到
//下面是新的测试
className("android.widget.Button").text("升级领红包").waitFor()
var DMB=className("android.widget.Button").text("升级领红包").findOne().bounds()
click(device.width-150,DMB.centerY())
sleep(2000)
swipe(device.width / 2, 4*device.height/5, device.width / 2,3* device.height/5,1000);
sleep(2000)
if(text("签到").exists()){
text("签到").findOne().click();
sleep(1600);
toast("签到成功")
}
sleep(1000)
if(text("去浏览").exists()){
while(text("去浏览").exists()){
//判断是否有去浏览
text("去浏览").findOne().click();
sleep(2000)
toast("存在并点击");
sleep(5000)
swipe(device.width / 2, 4*device.height/5, device.width / 2, device.height/5,1000);
sleep(2000)
swipe(device.width / 2, 4*device.height/5, device.width / 2, device.height/5,1000);
sleep(18000)
//这个地方如果网络不好,自己加时间(单位是毫秒),1000毫秒为1秒
//判断是否在主页
if(className("android.widget.LinearLayout").desc("会员码").exists()){
toast("现在在主页")
sleep(1000)
/*
var Bad= className("android.view.View").textContains("返回双11合伙人").bounds()
//click(Bad.centerX(),Bad.centerY())
这个地方总是一不留神就没了,只能用笨方法
*/
//这里开始替换
className("android.view.View").desc("搜索").clickable(true).findOne().click()
sleep(2000)
id("searchEdit").waitFor()
id("searchEdit").findOne().setText("双十一合伙人")
id("searchbtn").waitFor()
id("searchbtn").findOne().click()
waitForActivity("com.taobao.browser.BrowserActivity")
toast("这个地方等待时间大概是8S,不要以为脚本停了")
sleep(8000)
className("android.widget.Button").text("升级领红包").waitFor()
click(device.width-150,DMB.centerY())
//这里替换结束
sleep(3000)
swipe(device.width / 2, 4*device.height/5, device.width / 2,3* device.height/5,1000);
}
else
{
back()
}
sleep(2000)
}
}
while(text("去签到").exists()){
//判断是否有去签到
text("去签到").findOne().click();
toast("这里要等久一点,10秒后才继续")
sleep(10000)
if(textContains("的农场" ).exists() ){
//判断当前界面
sleep(1000)
textContains("去签到").waitFor()
textContains("去签到").findOne().click()
text("签到").waitFor()
var i =text("签到").findOne().bounds()
click(i.centerX(),i.centerY())
sleep(2000)
back()
//天猫农场
}
else
{
// toast("我卡在错误的地方了")调试用的
sleep(1000)
var day= className("android.view.View").desc("今日签到").bounds()
click(day.centerX(),day.centerY())
// className("android.view.View").desc("今日签到").findOne().parent().click()
back()
//这个地方10/28日我发现有又改动,我改过来了
//另外一个签到
}
sleep(3000)
}
toast("脚本结束") //by 暗夜协奏者,转载不要删这句
上面这个所有手机都可以
下面这个只适用于淘宝首页顶部是"20亿"这样
另外新增了去农场和不知道啥界面的签到(也是任务里面的)
另外,欢迎提供建议+反馈
就是638楼的那张图
[Asm] 纯文本查看 复制代码 auto()
auto()
var str = "";
str += "屏幕宽度:" + device.width
str += "\n屏幕高度:" + device.height;
toast("屏幕宽度为"+device.width+" "+"屏幕高度为"+device.height);
//获取设备信息
launchApp("手机淘宝");
toast("打开手机淘宝中");
sleep(8000)
waitForActivity("com.taobao.tao.TBMainActivity")
//等待主页完全打开
className("android.widget.LinearLayout").desc("捉猫猫").findOne().click()
//上面这句只适用于淘宝界面上面有“20亿”字样,不适用于所有人(可能以后会全部变成20亿,暂且保留)
//className("android.widget.FrameLayout").depth(3).drawingOrder(3).indexInParent(2).findOne().click()
/*className("android.view.View").desc("搜索").clickable(true).findOne().click()
sleep(2000)
id("searchEdit").waitFor()
id("searchEdit").findOne().setText("双十一合伙人")
id("searchbtn").waitFor()
id("searchbtn").findOne().click()
*/
waitForActivity("com.taobao.browser.BrowserActivity")
//判断当前界面是否为目标界面
toast("这个地方等待时间大概是8S,不要以为脚本停了")
sleep(8000)
//className("android.view.View").depth(14).indexInParent(5).boundsInside(0, device.height / 2, device.width, device.height).findOne().click()
//点击“领喵币”挂件
//貌似这个地方不是所有人都可以找到
//下面是新的测试
className("android.widget.Button").text("升级领红包").waitFor()
var DMB=className("android.widget.Button").text("升级领红包").findOne().bounds()
click(device.width-150,DMB.centerY())
sleep(2000)
swipe(device.width / 2, 4*device.height/5, device.width / 2,3* device.height/5,1000);
sleep(2000)
if(text("签到").exists()){
text("签到").findOne().click();
sleep(1600);
toast("签到成功")
}
sleep(1000)
if(text("去浏览").exists()){
while(text("去浏览").exists()){
//判断是否有去浏览
text("去浏览").findOne().click();
sleep(2000)
toast("存在并点击");
sleep(5000)
swipe(device.width / 2, 4*device.height/5, device.width / 2, device.height/5,1000);
sleep(2000)
swipe(device.width / 2, 4*device.height/5, device.width / 2, device.height/5,1000);
sleep(18000)
//这个地方如果网络不好,自己加时间(单位是毫秒),1000毫秒为1秒
//判断是否在主页
if(className("android.widget.LinearLayout").desc("会员码").exists()){
toast("现在在主页")
sleep(1000)
/*
var Bad= className("android.view.View").textContains("返回双11合伙人").bounds()
//click(Bad.centerX(),Bad.centerY())
这个地方总是一不留神就没了,只能用笨方法
*/
//这里开始替换
className("android.widget.LinearLayout").desc("捉猫猫").findOne().click()
sleep(2000)
waitForActivity("com.taobao.browser.BrowserActivity")
toast("这个地方等待时间大概是8S,不要以为脚本停了")
sleep(8000)
className("android.widget.Button").text("升级领红包").waitFor()
click(device.width-150,DMB.centerY())
//这里替换结束
sleep(3000)
swipe(device.width / 2, 4*device.height/5, device.width / 2,3* device.height/5,1000);
}
else
{
back()
}
sleep(2000)
}
}
while(text("去签到").exists()){
//判断是否有去签到
text("去签到").findOne().click();
toast("这里要等久一点,10秒后才继续")
sleep(10000)
if(textContains("的农场" ).exists() ){
//判断当前界面
sleep(1000)
textContains("去签到").waitFor()
textContains("去签到").findOne().click()
text("签到").waitFor()
var i =text("签到").findOne().bounds()
click(i.centerX(),i.centerY())
sleep(2000)
back()
//天猫农场
}
else
{
// toast("我卡在错误的地方了")调试用的
sleep(1000)
var day= className("android.view.View").desc("今日签到").bounds()
click(day.centerX(),day.centerY())
// className("android.view.View").desc("今日签到").findOne().parent().click()
back()
//这个地方10/28日我发现有又改动,我改过来了
//另外一个签到
}
sleep(3000)
}
toast("脚本结束") //by 暗夜协奏者,转载不要删这句
下面这段是30个店铺的签到,我不打算把它和上面的放一起,所以就另外做了一份(准确的说是26个,还有4个暂时没有办法)
现在是30个了
[Asm] 纯文本查看 复制代码 auto();
var 店铺=new Array();
店铺[1]="¥OtoeYrYrZZn¥"
店铺[2]="¥tTR8YrYPBDN¥"
店铺[3]="¥eUprYrY7NMg¥"
店铺[4]="¥LnZeYrYiHM6¥"
店铺[5]="¥hxC0YrYiJfT¥"
店铺[6]="¥7OUlYrYifm7¥"
店铺[7]="¥4XjAYrYixNe¥"
店铺[8]="¥ZzlPYrYRd2n¥"
店铺[9]="¥yGAbYrYRNcQ¥"
店铺[10]="¥ctJMYrY8pEo¥"
店铺[11]="¥7ZvIYrYQbGY¥"
店铺[12]="¥OxjyYrYjn0a¥"
店铺[13]="¥5TVTYrYjsjB¥"//这个
店铺[14]="¥KqhqYrYQrCF¥"//这个
店铺[15]="¥d2K9YrYQ3Pn¥"
店铺[16]="¥LkqsYrYQ9yz¥"
店铺[17]="¥omdnYrY9eSK¥"
店铺[18]="¥qNSIYrY91x3¥"
店铺[19]="¥9StPYrY9nus¥"
店铺[20]="¥vB6eYrYkxSj¥"
店铺[21]="¥pDJmYrYPeGc¥"
店铺[22]="¥2ZJUYrYPTgC¥"//这个
店铺[23]="¥n4MtYrYPqCG¥"
店铺[24]="¥uTsDYrYP949¥"
店铺[25]="¥wcygYrYl4Qs¥"
店铺[26]="¥cpn4YrYK6ai¥"
店铺[27]="¥x8j8YrYl6AW¥"
店铺[28]="¥DgZtYrYlodK¥"
店铺[29]="¥yv4pYrYOSok¥"
店铺[30]="¥liynYrYpCNP¥"//这个
/*有人反馈说,使用此脚本后会有人加好友,我解释一下:
这是淘宝的机制,如果有人分享链接给你,那么这个人会被列入曾经分享过的人列表,也就是说他是可以加你好友的(上面所有的分享链接都是论坛上分享的)“[url=https://www.52pojie.cn/thread-1043211-1-1.html]https://www.52pojie.cn/thread-1043211-1-1.html[/url]”
可以自行替换成自己的链接,进入店铺后,分享,把“¥¥”这段复制替换即可
*/
for (i=1;i<店铺.length;i++){
sleep(2000)
toast("正在刷店铺"+i)
setClip(店铺[i])
sleep(3000)
launchApp("手机淘宝");
toast("打开手机淘宝中");
sleep(5000)
//进入店铺
id("tpd_shop_action").waitFor()
sleep(1000)
id("tpd_shop_action").findOne().click()
//判断是不是第二类签到店铺
if (i==13|i==14|i==22|i==30) {
className("android.view.View").desc("推荐").waitFor()
var panzixiang=className("android.view.View").desc("推荐").findOne().bounds()
sleep(6000)
click(device.width/2,panzixiang.centerY())
//谢谢"panzixiang"的提醒,解决了这个问题
}
sleep(1000)
//判断当前页面是否已经签到过
var LS=descContains("签到领喵币").findOne(6000)
if(LS==null){
toast("这家已签到")
}
else
{
//页面操作
//toast("错误的找到了")
descContains("签到领喵币").waitFor()
var DP=descContains("签到领喵币").findOne().bounds()
sleep(1000)
click(DP.centerX(),DP.centerY())
descContains("开心收下").waitFor()
var GI=desc("开心收下").findOne().bounds()
sleep(1000)
click(GI.centerX(),GI.centerY())
}
sleep(2000)
toast("回到手机主页")
home()
//回到主页
}
toastLog("30家都刷完了")
萌新求打赏,谢谢
软件下载地址
链接: https://pan.baidu.com/s/1d2sLhe_npvdzqaGQnKHBXw 提取码: wch3
应要求附上下载链接(其实可以用手机浏览器直接复制粘贴的)
链接: https://pan.baidu.com/s/1M-LvvIfHcQlM8e5BEYfO3w 提取码: wx3i
https://www.lanzouj.com/b00t415pa
密码:ar2v
刚刚录了视频,待会转化成gif'上传,新人献丑了,如果有问题,请各位指出来。
|