湖南科学技術大学自動健康打卡---auto.js

44355 ワード

文書ディレクトリ
  • 前言
  • 一、auto.jsの長所と短所及びダウンロードアドレス
  • 二、コード
  • を使用
  • 説明
  • まとめ
  • 前言
    本文はpythonで書いたのではなくautoで書いた.js,pythonの話、1つは学芸が精巧ではありませんて、2つは私がカードを打つウェブサイトを見つけていませんて、もしまた深く研究したいならば、このリンクを見ることができます.
    一、auto.jsの長所と短所とダウンロードアドレス
    Auto.jsはアンドロイドシステムの「アシスト機能」を利用して,キースプライトのように一連のインタフェース動作をコードシミュレーションできるアシスト動作を実現する.
    欠点はやはり先に説明して、毎回このappを開いて、まずバリアフリーの機能を開けなければなりません
    ダウンロードリンク(注意:入ってから2番目のダウンロードを選択):ダウンロードアドレス.
    二、コード
    150行程度
    くだらないことは言わないで、コードを直接見てください.
    
    auto.waitFor();
    var phone = "110";
    var province = "xxx";
    var shi = "xxx";
    /*    */
    var detailAddress = "xxx";
    /*      qq    ,          */
    var qqqun = "xxx";
    launchApp("  ");/*    */
    sleep(1000);
    /*        8.0    id*/
    var object = className('android.widget.ImageView').id("he6").findOne();
    let b = object.bounds();
    click(b.centerX(), b.centerY());
    sleep(2000);
    /*     */
    setText('      ');
    sleep(200);
    /*    */
    className("RelativeLayout").depth(10).drawingOrder(3).findOne().click();
    text("    ").findOne().parent().parent().click();
    sleep(3000);
    text("    ").findOne().click();
    sleep(3000);
    var a = text("+     ").findOne().bounds();
    click(a.centerX(), a.centerY());
    sleep(3000);
    if (className("android.view.View").text("     ,    !").exists()) {
         
        toast("     ");
        goBack();
    } else {
         
        toast("    ");
        sleep(1000);
        swipe(500, 1500, 500, 500, 1000);
        /*  */
        directlyWriteInfo(4, phone);
        /*     */
        writeAddress();
        /*    */
        directlyWriteInfo(7, detailAddress);
        /*       */
        findView(8);
        writeInfo(" ");
        /*  */
        directlyWriteInfo(9, "36.5");
        /*      */
        findView(10);
        writeInfo(" ");
        /*        */
        findView(11);
        writeInfo("   ");
        /*    */
        findView(12);
        writeInfo("  ");
        /*    */
        findView(13);
        writeInfo("  ");
        /*     */
        indexInParent(15).depth(21).row(-1).findOne().child(0).click();
        /*      */
        setText([6], " ");
        /*  */
        indexInParent(17).depth(21).row(-1).findOne().child(0).click();
        /*    */
        text("    ").findOne().click();
        sleep(500);
        toast("    ");
        goBack();
        /*qq */
        goto(qqqun);
        sendMessage();
        exit();
    }
    
    function findView(index) {
         
        indexInParent(index).depth(21).row(-1).findOne().child(1).child(0).click();
        sleep(500);
    }
    function writeInfo(message) {
         
        var info = text(message).findOne().bounds();
        click(info.centerX(), info.centerY());
        sleep(500);
    }
    function directlyWriteInfo(index, message) {
         
        indexInParent(index).depth(21).row(-1).findOne().child(1).child(0).setText(message);
        sleep(500);
    }
    function goBack() {
         
        for (let i = 0; i < 4; i++) {
         
            back();
            sleep(500);
        }
    }
    function goto(qqqun) {
         
        app.startActivity({
         
            action: "android.intent.action.VIEW",
            data: "mqqapi://card/show_pslcard?src_type=internal&version=1&card_type=group&uin=" + qqqun,
            packageName: "com.tencent.mobileqq",
        });
        text("   ").findOne().click();
    }
    function sendMessage() {
         
        id("input").findOne().setText("1");
        id("fun_btn").findOne().click();
        toast("    ");
        sleep(500);
        back();
        home();
    }
    
    function writeAddress() {
         
        findView(6);
        /*  */
        var i = 0;
        var j = 0;
        var rect = className("LinearLayout").depth(5).drawingOrder(1).findOne().bounds();
        var exist1 = className("TextView").depth(7).text(province).exists();
        while (i < 10 && exist1) {
         
            /*      ,           bounds*/
            var c = className("TextView").depth(7).text(province).findOne().bounds();
            print(rect.bottom + "--- " + rect.top + "----" + c);
            if (c.bottom < rect.bottom && c.top > rect.top) {
         
                click(c.centerX(), c.centerY());
                break;
            } else {
         
                swipe(rect.centerX(), rect.centerY(), rect.centerX(), rect.top + 20, 1000);
            }
            i++;
        }
        if (i == 10 || !exist1) {
         
            toast("         ,       ");
            exit();
        }
        /* */
        indexInParent(6).depth(21).row(-1).findOne().child(1).child(1).click();
        sleep(500);
        var exist2 = className("TextView").depth(7).text(shi).exists();
        while (j < 10 && exist2) {
         
            var l_shi = className("TextView").depth(7).text(shi).findOne().bounds();
            if (l_shi.bottom < rect.bottom && l_shi.top > rect.top) {
         
                click(l_shi.centerX(), l_shi.centerY());
                break;
            } else {
         
                swipe(rect.centerX(), rect.centerY(), rect.centerX(), rect.top + 20, 1000);
            }
            j++;
        }
        if (j == 10 || !exist2) {
         
            toast("        ,       ");
            exit();
        }
    }
    
    

    使用
  • 私はコードをパッケージして、コードの冒頭の数行であなたの電話、省、市、詳細な住所に修正するだけで、署名するqq群、コードは各携帯電話に適しています.各携帯電話は自動化できるはずです
  • jsコードが常に1行に表示されている場合は、コードをフォーマットするには、「ファイル」>「編集」>「コードをフォーマット」
  • 注意してください.appを開いた後、最初の時間にバリアフリー機能を開くには、
  • を何度も試してみる必要があります.
  • それから自動的に
  • を打つことができます
    説明
  • クリックするとすぐに反応することはできないので、コードはsleep
  • を多く使用しています.
  • 私は直接launchApp(「微信」)なので、微信に入ったら必ずメインインタフェースでなければなりません.そうしないとコントロールが見つかりません.次のクリックイベントはできません.
  • まとめ
    分からないことがあるならば、私qq(3620841688)をプラスして话をすることができて、これはよく见ないで不足があるかもしれなくて、指摘を歓迎して、喷かないでください