2

コメントで示されているように、機能を組み込むにはどうすればよいですか?

// for(x=0;x<10;x++)
$('a[attr*="unique"]:first').attr('id', 'mysuperid1');
document.getElementById("mysuperid1").click();
// delay

$("span:contains(action)").parent().click();
// delay

$jq("a:contains(action)").attr('id', 'mysuperid2');
document.getElementById("mysuperid2").click();
// delay

$('input[value="action"]').attr('id', "mysuperid3");
document.getElementById("mysuperid3").click();
// delay

// back to the top of loop

(名前と選択/検索用語は変更されています)

私が思う問題は、ここで見つかった問題のようなものですhttp://darklaunch.com/2011/05/21/javascript-for-loop-using-settimeout-to-pass-argumentしかし、何を推定するかわかりません私はJavaScript開発者ではないので、そのリンクには複数の遅延が含まれていると教えられています。

これは、いくつかの Web タスクを自動化するボットです。

どうもありがとう

4

2 に答える 2

1

おそらく、このアプローチをテンプレートとして使用し、すべてのタスクを独自の関数に分割できます。

var delay = 1000;

function beginTasks(){
    taskOne();
}

function taskOne(){
    // Do something
    window.setTimeout(function(){
        taskTwo();
    }, delay);
}

function taskTwo(){
    // Do something else
    window.setTimeout(function(){
        beginTasks(); // <-- back to start
    }, delay);
}
于 2012-08-09T14:52:46.843 に答える
0

Javascript で「スリープ」アクションを実行することはできません。

ただし、ブラウザーでも利用できるasync node モジュールを使用すると、setTimeout などの非同期関数を処理するのに役立つ、いくつかの優れた非同期構文ラッパーが提供されます。

コードは次のようになります。

async.whilst( function ( ) {
    /* condition */
}, function ( whilstCallback ) {
    async.series( [
        function ( seriesCallback ) { /* action 1 */ seriesCallback( ); },
        window.setTimeout.bind( window, 1000 ),
        function ( seriesCallback ) { /* action 2 */ seriesCallback( ); },
        window.setTimeout.bind( window, 1000 ),
        /* ... */
    ], whilstCallback );
} );
于 2012-08-09T14:54:33.287 に答える