2014-09-23 64 views
0

我想用Javascript來模擬多個按鈕類型的點擊,我運行它的網頁有1個類型的按鈕和1個其他的約10個。Javascript'多點擊模擬'問題

我想讓JS點擊網頁上與第一個按鈕的標記相匹配的所有按鈕,然後在完成之後,最後點擊其他按鈕。

我已經設法讓它輕鬆點擊第一個按鈕的全部10個,但我開始與其他按鈕糾纏在一起。 第一個按鈕的標記是這個; http://pastebin.com/aRNpjG0n

所以運行這個Javascript,我可以點擊這些按鈕2秒延遲;

window.setInterval(function(){ 
    var inputs = document.getElementsByClassName('x-button-litebutton-wrapper'); 
    for(
      var i=0; i<inputs.length;i++ 
     ) 
      {inputs[i].click();} 
    }, 
    2000); 

其他按鈕的標記在這裏; http://pastebin.com/baw32HjK

我假設第二個按鈕的ID爲「X-BTN-文本」,如果是這樣的話,那麼我的問題,簡直是如何把現有的javascipt的(上圖)中implament它

任何幫助都將不勝感激,因爲我沒有設法在這裏找到任何關於一次模擬多於1個按鈕的任何內容。

+1

你點擊*在完成所有10個按鈕*後2秒。這是意圖嗎? – 2014-09-23 09:35:19

+0

我點擊了與第一個標記相匹配的所有10個按鈕,然後是第一個標記後面的1按鈕,2秒是我爲該帖子添加的隨機值。 @TrueBlueAussie – 2014-09-23 10:06:32

回答

0

我不知道你的問題實際上是,但這裏是jQuery的一個版本(以保持它簡單):

http://jsfiddle.net/t9r4ru0m/

$(function() { 

    // Debug - write out log that the items were clicked 
    $('.x-button-litebutton-wrapper').click(function() { 
     console.log($(this).attr('class')); 
    }); 
    $('.x-btn-text').click(function() { 
     console.log($(this).attr('class')); 
    }); 

    setTimeout(function() { 
     console.log('clicking'); 
     $('.x-button-litebutton-wrapper').click(); 

     // Now click the rest of the buttons 
     setTimeout(function() { 
      $('.x-btn-text').click(); 
     }, 3000); 
    }, 3000); 
}); 
+0

我在原來的文章中進行了一些操作,但我的問題實際上是將它們放在1個Javascript語句中,而不是2個單獨的語句中,所以它會遍歷並單擊10個按鈕,最後再單擊其中一個。 – 2014-09-23 11:12:27

+0

回調中的回調是你最好的選擇。你可以在jQuery中用'$('.x-button-litebutton-wrapper,.x-btn-text')同時點擊它們。click()':) – 2014-09-23 13:18:46