この記事では、Douyin の自動赤いエンベロープ取得機能を実現するための adb シェルと Node.js の使用方法を主に紹介します。これは非常に優れており、必要な友人は参照できます。
ロジックは非常に簡単です。赤い封筒のビデオの場合、Douyin ビデオが再生され、赤い封筒がポップアップします。 シミュレーション ロジックは次のとおりです。
赤い封筒がある場合は、赤い封筒を開きます。赤い封筒がない場合、ビデオは一時停止されます。
赤い封筒がある場合は、戻るボタンをクリックして、赤い封筒がない場合は、もう一度押して終了します(実際には終了しません)。
上にスワイプして次のビデオに移動します。
クリック、戻る、上にスワイプの 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 サイトの他の関連記事を参照してください。