Node.js を使用して Douyin の自動赤い封筒取得機能を実装する
この記事では、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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Node.js は、高いパフォーマンス、スケーラビリティ、クロスプラットフォーム サポート、豊富なエコシステム、開発の容易さなどの機能を備えているため、バックエンド フレームワークとして使用できます。

Node.js には次のグローバル変数が存在します。 グローバル オブジェクト: グローバル コア モジュール: プロセス、コンソール、require ランタイム環境変数: __dirname、__filename、__line、__column 定数: unknown、null、NaN、Infinity、-Infinity

MySQL データベースに接続するには、次の手順に従う必要があります。 mysql2 ドライバーをインストールします。 mysql2.createConnection() を使用して、ホスト アドレス、ポート、ユーザー名、パスワード、データベース名を含む接続オブジェクトを作成します。 connection.query() を使用してクエリを実行します。最後に connection.end() を使用して接続を終了します。

Node.js インストール ディレクトリには、npm と npm.cmd という 2 つの npm 関連ファイルがあります。違いは次のとおりです。拡張子が異なります。npm は実行可能ファイルで、npm.cmd はコマンド ウィンドウのショートカットです。 Windows ユーザー: npm.cmd はコマンド プロンプトから使用できますが、npm はコマンド ラインからのみ実行できます。互換性: npm.cmd は Windows システムに固有ですが、npm はクロスプラットフォームで使用できます。使用上の推奨事項: Windows ユーザーは npm.cmd を使用し、他のオペレーティング システムは npm を使用します。

はい、Node.js はバックエンド開発言語です。これは、サーバー側のビジネス ロジックの処理、データベース接続の管理、API の提供などのバックエンド開発に使用されます。

はい、Node.js はフロントエンド開発に使用でき、主な利点には、高性能、豊富なエコシステム、クロスプラットフォーム互換性が含まれます。考慮すべき点は、学習曲線、ツールのサポート、コミュニティの規模の小ささです。

Node.js と Java の主な違いは、設計と機能です。 イベント駆動型とスレッド駆動型: Node.js はイベント駆動型で、Java はスレッド駆動型です。シングルスレッドとマルチスレッド: Node.js はシングルスレッドのイベント ループを使用し、Java はマルチスレッド アーキテクチャを使用します。ランタイム環境: Node.js は V8 JavaScript エンジン上で実行され、Java は JVM 上で実行されます。構文: Node.js は JavaScript 構文を使用し、Java は Java 構文を使用します。目的: Node.js は I/O 集中型のタスクに適しており、Java は大規模なエンタープライズ アプリケーションに適しています。

Web 開発において Node.js と Java にはそれぞれ長所と短所があり、どちらを選択するかはプロジェクトの要件によって異なります。 Node.js はリアルタイム アプリケーション、迅速な開発、マイクロサービス アーキテクチャに優れており、Java はエンタープライズ グレードのサポート、パフォーマンス、セキュリティに優れています。
