ホームページ  >  記事  >  ウェブフロントエンド  >  Node.js を使用して Douyin の自動赤い封筒取得機能を実装する

Node.js を使用して Douyin の自動赤い封筒取得機能を実装する

亚连
亚连オリジナル
2018-06-05 15:29:474940ブラウズ

この記事では、Douyin の自動赤いエンベロープ取得機能を実現するための adb シェルと Node.js の使用方法を主に紹介します。これは非常に優れており、必要な友人は参照できます。

ロジックは非常に簡単です。赤い封筒のビデオの場合、Douyin ビデオが再生され、赤い封筒がポップアップします。 シミュレーション ロジックは次のとおりです。

  1. 赤い封筒がある場合は、赤い封筒を開きます。赤い封筒がない場合、ビデオは一時停止されます。

  2. 赤い封筒がある場合は、戻るボタンをクリックして、赤い封筒がない場合は、もう一度押して終了します(実際には終了しません)。

  3. 上にスワイプして次のビデオに移動します。

クリック、戻る、上にスワイプの 3 ステップだけで、時間を計算すれば、赤い封筒があってもなくても機能します。

コード

以下はnode.jsコードの一部です:

touch.js

var process = require('child_process');
function exec(shell) {
 process.exec(shell,function (error, stdout, stderr) {
 if (error !== null) {
  console.log('exec error: ' + error);
 }
 });
}
function click() {
 console.log('click')
 exec(`adb shell input tap 400 600`)
 setTimeout(back, 1000)
}
function swipe() {
 console.log('swipe')
 exec(`adb shell input swipe 400 800 400 0 500`)
 setTimeout(click, 20000)
}
function back() {
 console.log('back')
 exec(`adb shell input keyevent 4`)
 setTimeout(swipe, 1000)
}
swipe()

携帯電話の開発者モードを開き、USBデバッグを開始します。Xiaomiの場合は、USBもオンにしてください。デバッグ (セキュリティ設定)。携帯電話を接続し、Douyinのメインインターフェイスを開きます。このjsをローカルに保存し、nodeを使用して実行します。

$ node touch.js

Douyinが20秒ごとに上にスライドしていることがわかったら、それは成功したことを意味します~

原則

adbシェルを使用して携帯電話を操作する記事と同様に、ジャンプなどの操作もあります. 以下の原理について話しましょう。

child_process.exec(command[, options][, callback])

このメソッドの機能は、シェルを生成し、シェル内でコマンドを実行し、生成された出力をバッファリングすることです。詳細については参考資料を参照してください。実際には、スクリプトやシェルコマンドを実行するのと同じです。 これを使用して adb シェル コマンドを実行します。

adbシェル

adbは、APPのインストールを支援するさまざまな携帯電話アシスタントを含め、携帯電話上のすべてのコンピュータ操作を実際にadbによって実行します。 PS: 私は長い間携帯電話に取り組んできましたが、今日この興味深い機能を発見しました...ため息...

adb シェルは、APK をインストールし、携帯電話情報を表示し、携帯電話ファイルを操作し、クリック動作をシミュレートできます。などなど、とても強力です。ここでの主な目的は、adb シェル入力のクリック動作をシミュレートすることです。 機能は以下にリストされています:

// 输入文本 content
$ adb shell input text “hello” 
// 点击返回按钮 keynumber
$ adb shell input keyevent 4
// 点击屏幕某个点 x y
$ adb shell input tap 400 400
// 滑动 x1 y1 x2 y2 time
$ adb shell input swipe 400 800 400 0 500
// 下面三个不太清楚,再研究
$ adb shell input press
$ adb shell input roll
$ adb shell input tmode

その他のキーの対応する値については、Android keyevent の対応する値を確認できます。これらのコマンドを通じて、電話でいくつかの簡単な操作を実行できます~

最後に

これは実際には非常に単純なロジックですが、今後簡単な操作が必要な場合は、adb とノードを使用して繰り返し実行できます〜 最後に、Douyin の赤い封筒について苦情を言いました。昨日は3時間費やしましたが、電気代としては十分ではありません。エンターテイメントとして扱ってください~

追記: 以下は Android keyevent の対応する値を紹介します

Android keyevent の各値は、adb Shell 入力を使用するときに使用できます。

rreee

以上が皆さんのためにまとめたもので、今後皆さんのお役に立てれば幸いです。

関連記事:

Immutable.js で元に戻すおよびやり直し機能を実装する方法 (詳細なチュートリアル)

vue にはバインドされた変数の値がいくつかあり、それらの変更を防ぐ方法 (詳細なチュートリアル)

JavaScript で関数を定義する場合の var foo = function () {} と function foo() の違いの紹介 (詳細なチュートリアル)

以上がNode.js を使用して Douyin の自動赤い封筒取得機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。