如果找到按钮声明

时间:2018-11-27 05:06:25

标签: javascript imacros

我的目标是,如果页面包含指定的按钮,请单击该按钮,然后将amt_clicked增加1。当amt_clicked大于15时,请等待60秒并重置{{1} }。我不知道该怎么做,如果声明。示例:

amt_clicked

2 个答案:

答案 0 :(得分:0)

这将使用window.setInterval()函数每秒运行20次:

var amt_clicked = 0;
var amt_cooldown = 1200;
setInterval(function(){
    if (amt_cooldown === 0)
        amt_cooldown = 1200;
    else if (amt_cooldown < 1200)
        amt_cooldown -= 1;
    else if (amt_clicked > 15) {
        amt_clicked = 1;
        amt_cooldown -= 1;
    } else {
        amt_clicked -= 1;
        //Click
}, 50);

答案 1 :(得分:0)

您可以结合使用setIntervalsetTimeout。 我在代码中添加了注释,供您理解。

var amt_clicked = 0;
var setTimeoutInProcess = false;

//processing the interval click function
setInterval(() => {
  checkButtonAgain();
}, 200);


function checkButtonAgain() {

  var element = document.getElementById('iNeedtoBeClicked');

  //if clicked 15 times then need to wait for 60 seconds
  if (amt_clicked === 15) {
    if (!setTimeoutInProcess) {
      setTimeoutInProcess = true;
      setTimeout(function() {
        //resetting the amt-clicked
        amt_clicked = 0;
        setTimeoutInProcess = false;
      }, 60000);
    } else {
      console.log('waiting');
    }
  } else if (typeof(element) != 'undefined' && element != null) {
    //triggering click and increasing the amt_clicked
    element.click();
    amt_clicked++;
  }
  console.log(amt_clicked);
}
<button id="iNeedtoBeClicked">Click ME Button</button>