人形遣いのビブラート自動化されたバッチアップロード動画

はじめに:最近のプロジェクトの宣伝、その人形遣いがプロモーションのための一括アップロードの自動化プログラムビブラートビデオを書いて使用します。

環境と依存性:ノード、人形遣い

直接コードでADO、:

CONST人形=(「人形」を必要とします)。
CONSTのfs =は( 'FS'を必要とします)。
VaRの ARRY = []; 
fs.readdir( 'ビデオ'、機能(ERR、ファイル){
     場合(ERR){ 
        はconsole.log(ERR); 
    } 
    { 関数getfiles(I){
             場合(I == files.length){
                 戻りコンソール。 (ARRY)ログ; 
            } 

            そうでなければ{ 
                fs.stat( 'ビデオ/' +ファイル[i]は、関数(誤差、統計){
                     場合(エラー){
                        console.log(エラー)
                    } 
                    {
                         場合(stats.isFile()){ 
                            arry.push(ファイル[I])。
                        } 
                        getfiles(iが +1 
                    } 
                })      
            } 
        })( 0 
    } 
})

非同期関数のmain(){ 
    せブラウザ = puppeteer.launchを待つ({ヘッドレス: 400、defaultViewport:slowMo、{幅:1280、高さ:800 }})。
    ページを聞かせ =)(browser.newPageを待ちます。

    page.gotoを待つ( 'https://sso.douyin.com/?service=https://www.douyin.com/login/type/media#/' ); 

    page.waitFor(待つ * 1000年5 )。

    VAR i = 0; I <arry.length; iは++ ){
     // 上传视频元操作

        CONSTアップロード = page.waitForSelectorを待つ( '入力[名前= "-BTNをアップロード"]' )。
        upLoad.uploadFileを待つ( 'C:\\人形\\ 03AutoMatuionPost \\ビデオは\\' + ARRY [I] + '' )。

        CONSTのinputTextは = page.waitForSelector( 'DIV [役割= "コンボボックスを"]'待ちます)。
        )(inputText.clickを待ちます。
        inputTextを待っています。); 

        CONST submitBtn =はpage.waitForSelectorを待つ( 'ボタン[クラス= "ボタン- 1SZwRプライマリ-固定1AMXd - 3rEwh"]' )。
        )(submitBtn.clickを待ちます。

        CONST IknowBtnの =はpage.waitForSelector待つ( 'DIV [クラス= "ボタン- 228g0を"]' )。
        もし(IknowBtn){ 
            IknowBtn.click()を待ちます。
        } 

        page.waitFor(待機 ×1000 5 )。
        CONST upLoadBtnは = page.waitForSelector( '[HREF = "#/アップロード"]'待ちます)。
        )(upLoadBtn.clickを待ちます。
    } 


} 

)(メイン。

デモ:最初の着陸は、あなたが側にお茶を持つことができ、2次元コードを掃引する必要があります。

おすすめ

転載: www.cnblogs.com/zlforever-young/p/11614650.html