V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
dcatfly

分享两个脚本,帮你自动完成电商双十一的任务(Android)

  •  
  •   dcatfly · Oct 25, 2019 · 11571 views
    This topic created in 2376 days ago, the information mentioned may be changed or developed.

    迫于双十一电商活动重复性太高,基于 Auto.js ( Android )写了两个脚本来自动完成任务,希望对大家有帮助。

    github 地址

    Supplement 1  ·  Oct 26, 2019

    脚本已更新,之前运行失败的朋友可以重新导入脚本试下。

    感谢#27楼的朋友提供的代码参考。

    主要更新了以下几点:

    • 优化了控件选择器,解决了部分手机上定位点击不准确的问题。
    • 解除了固定任务执行数量的限制,使其中断后可以重新执行。
    • 增加了很多任务或异常的提示,优化用户体验。
    43 replies    2019-10-29 21:02:40 +08:00
    westoy
        1
    westoy  
       Oct 25, 2019
    阿里有风控的,99 划算节养章鱼用脚本的最后满级分到 1 分或者 1 毛
    dcatfly
        2
    dcatfly  
    OP
       Oct 25, 2019
    @westoy 额。。感谢提醒,这个情况我到是不确定。目前淘宝上是实时显示红包金额的,看起来是正常的。京东那边要到日子才分红包。到时候我再回来分享自己的金额,目前个人感觉这种通过无障碍权限,模拟人点击的脚本问题不大。
    roryzh
        3
    roryzh  
       Oct 25, 2019
    不错不错,挺好用的
    jydeng
        4
    jydeng  
       Oct 25, 2019
    star, 回家试试
    ZredoC
        5
    ZredoC  
       Oct 25, 2019
    感谢分享
    xgLi
        7
    xgLi  
       Oct 25, 2019
    想问下这个脚本正常运行应该是什么状态,mi8 好像不能正常运行
    ydsq
        8
    ydsq  
       Oct 25, 2019
    可以在安卓模拟器上运行吗
    icecodefire
        9
    icecodefire  
       Oct 25, 2019
    setScreenMetrics(1440, 3040); 这个屏幕设置 是根据 手机的像素来设置的么 ? 怎样确定点击位置的 click(1230, 2300);的坐标的
    dcatfly
        10
    dcatfly  
    OP
       Oct 25, 2019
    @huiyadanli 6666 京东的活动可以在浏览器中做吗?我按插件中的提示打开网址显示要打开 APP 呀
    dcatfly
        11
    dcatfly  
    OP
       Oct 25, 2019
    @xgLi 正常会自动打开你 app,进入活动页面,执行浏览任务。可否详细描述一下你的情况?谢谢。提 issue 也可以。
    dcatfly
        12
    dcatfly  
    OP
       Oct 25, 2019
    @ydsq 这个还没试过,不过淘宝之类的 app 应该可以识别当前是模拟器环境。
    dcatfly
        13
    dcatfly  
    OP
       Oct 25, 2019
    @icecodefire 是根据手机分辨率设置的,正常点击的位置会根据当前设备的分辨率自动缩放。
    如果想自己确定自己设备的点击位置,可以打开手机开发者选项中的指针位置,就可以实时显示点击位置。
    huiyadanli
        14
    huiyadanli  
       Oct 25, 2019
    @dcatfly #10 我按他说的先登录,然后再访问活动页面就可以了。。
    raylor
        15
    raylor  
       Oct 25, 2019
    Mi9 启动 app 后就不动了
    xgLi
        16
    xgLi  
       Oct 25, 2019
    @dcatfly 进入活动页面但不执行浏览任务,是要按照顺序先把分享任务手动做了吗?
    imyip
        17
    imyip  
       Oct 25, 2019
    根据坐标定位不是很能适配啊 , 根据页面布局元素选择比较好
    caoler
        18
    caoler  
       Oct 25, 2019
    小米 MIX2S,进入淘宝活动页面之后就没反应了
    laycher
        19
    laycher  
       Oct 25, 2019
    auto.js 这个现在只有 pro 版本?还有购买。
    pC0oc4EbCSsJUy4W
        20
    pC0oc4EbCSsJUy4W  
       Oct 25, 2019
    不买才是省(
    dcatfly
        21
    dcatfly  
    OP
       Oct 25, 2019
    @huiyadanli 试了一下 还是显示需要打开 app。不过我京东的任务做完了,只能分享了,也可能是跟这个有关。
    dcatfly
        22
    dcatfly  
    OP
       Oct 25, 2019
    @raylor #15 是淘宝还是京东?
    dcatfly
        23
    dcatfly  
    OP
       Oct 25, 2019
    @xgLi #16 不需要按顺序,做任务之前会让你填任务执行次数,这个需要跟剩余任务数相对应。你的次数填写是对的吗?或者补个截图?谢谢反馈。
    dcatfly
        24
    dcatfly  
    OP
       Oct 25, 2019
    @imyip #17 是的,但是有些控件是用 canvas 画出来的,或者控件本身没有标识,无法准确获取,所以才用了坐标的方式。
    dcatfly
        25
    dcatfly  
    OP
       Oct 25, 2019
    @caoler #18 麻烦提供下更详细的信息,比如剩余任务状况,填写的执行任务数量,或者截图之类的。谢谢。
    dcatfly
        26
    dcatfly  
    OP
       Oct 25, 2019
    @laycher #19 官方是的,作者是说有很多灰产在用,为了防止造成更大的影响,下架了软件,并且提供了阉割的 pro 版。但是软件本身是开源的,可以使用源码自己编译 apk,我的项目中也提供了自己编译的安装包。
    qq850482461
        27
    qq850482461  
       Oct 25, 2019   ❤️ 2
    auto.waitFor()
    var appRun = currentActivity()
    if(appRun != 'com.taobao.taobao') {
    launch("com.taobao.taobao");
    toast("打开手机淘宝中");
    waitForActivity("com.taobao.tao.TBMainActivity");
    }


    function run() {
    className('android.widget.LinearLayout').desc('捉猫猫').findOne().click()
    className('android.view.View').clickable(true).depth(18).indexInParent(5).findOne().click()
    sleep(3000)
    if (text("签到").exists()) {
    text("签到").findOne().click();
    sleep(1600);
    toast("签到成功")
    }
    if(text("去进店").exists()) {
    toast("开始进行 去进店 任务!")
    goShop()
    };
    if(text("去浏览").exists()) {
    toast("开始进行 去浏览 任务!")
    goBrowse()
    };
    visitShop()
    }


    function goShop() {
    let x = device.width / 2, y = device.height / 5;
    for (let t = 1; t < 21; t++) {
    click(text("去进店").findOne().click())
    toast("点击去进店")
    sleep(2000)
    var task = className('android.view.View').depth(21).desc('任务完成').exists()
    while(!task) {
    swipe(x, 4*y, x, y,1000);
    sleep(3000)
    task = className('android.view.View').depth(21).desc('任务完成').exists()
    if (task) toast('任务完成');
    }
    back()
    toast("已经逛了" + t + "次")
    sleep(2000)
    }
    }


    function goBrowse() {
    while (text("去浏览").exists()) {
    //判断是否有去浏览
    text("去浏览").findOne().click();
    sleep(20000)
    back()
    sleep(2000)
    }
    }


    run()
    qq850482461
        28
    qq850482461  
       Oct 25, 2019
    给大家发一个能用的,楼主的那个用不了,网上找了一个能用的
    sparrww
        29
    sparrww  
       Oct 25, 2019   ❤️ 1
    分享一个京东活动能用的 https://www.ww01.net/archives/22357
    dcatfly
        30
    dcatfly  
    OP
       Oct 25, 2019
    @qq850482461 感谢分享,晚点我参考一下~
    lework1234
        31
    lework1234  
       Oct 25, 2019
    @sparrww 牛逼,确实可用
    raylor
        32
    raylor  
       Oct 25, 2019
    @dcatfly tb jd 都不行,无障碍服务权限已打开
    hsuvee
        33
    hsuvee  
       Oct 25, 2019
    没有 “捉猫猫‘ 这个按钮,我感觉我的淘宝和大家的不一样
    soho176
        34
    soho176  
       Oct 25, 2019   ❤️ 1
    感谢 !!
    dcatfly
        35
    dcatfly  
    OP
       Oct 26, 2019
    @raylor 项目中已更新了脚本,麻烦再试一下。
    dcatfly
        36
    dcatfly  
    OP
       Oct 26, 2019
    @hsuvee 是否开了代理,或者人在海外?我开了代理的情况下不会出现捉猫猫。
    sparrww
        37
    sparrww  
       Oct 26, 2019
    在分享一个逛天猫店铺的 http://www.ww01.net/archives/23436
    iacyl
        38
    iacyl  
       Oct 26, 2019
    没有捉猫猫这个按钮,没开代理,人在中国。
    dcatfly
        39
    dcatfly  
    OP
       Oct 26, 2019
    @iacyl 有点神奇,那你有淘宝双十一的活动吗?
    iacyl
        40
    iacyl  
       Oct 27, 2019
    @dcatfly #39 有啊,主页可以从双十一合伙人那进去。
    macrosea
        41
    macrosea  
       Oct 28, 2019 via iPhone
    厉害
    threee333
        42
    threee333  
       Oct 29, 2019
    没有捉猫猫按钮+1
    dcatfly
        43
    dcatfly  
    OP
       Oct 29, 2019
    @codergrowing @iacyl 我更新了脚本,改了选择器,解决了手动点击无效的 bug,可以再试一下。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6062 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 104ms · UTC 02:13 · PVG 10:13 · LAX 19:13 · JFK 22:13
    ♥ Do have faith in what you're doing.