Автоматизируйте Предложения кредитных карт Chase

#javascript #jquery #promise

Вопрос:

Каждый месяц Чейз предлагает награды на их кредитных картах в разных магазинах. Есть около 70 предложений, и нажатие на каждое из них-это боль в заднице. Я пытаюсь найти способ автоматизировать это с помощью сценария в консоли DevTools или с помощью фрагмента кода DevTools. Проблема в том, что я не очень хороший инженер JS.

То, что я пытаюсь сделать, — это использовать скрипт, чтобы «нажать» на одно из предложений. Затем появится правый ползунок с информацией о предложении. Затем я хотел бы «нажать» кнопку X, чтобы закрыть этот ползунок, а затем перейти к следующему предложению. Я перепробовал кучу различных вариантов кода, которые, похоже, просто не работают. Мне трудно понять, как заставить Обещания работать. Я также пробовал устанавливать тайм-ауты в разных местах в разное время.

Я включил изображения, чтобы показать макет и классы, которые я пытаюсь выбрать.

Последняя попытка (на данный момент я сдался)

 async function taskOne(i, thisObj) {
    $(thisObj).click().delay(1000);
    $("#flyoutCloseIcon").click();
}

async function clickDeal() {
    $(".iconAddToCard").each(async function(i) { 
        await taskOne(i, $(this));
    });
}

async function main() {
    await clickDeal();
}

main();
 

Еще Одна Неудачная Попытка

 $(".iconAddToCard").on('click', function (event){
    console.log("click card");
    event.stopPropagation();
});

$(".flyoutCloseIcon").on('click', function (event){
    console.log("click X");
    event.stopPropagation();
});


function taskOne(i, this_obj) {
  setTimeout(function() {
      $(this_obj).click();
  }, 1000 * i);
   setTimeout(function() {
      $("#flyoutCloseIcon").click();
  }, 3000 * i);
}


var arrLength = $(".iconAddToCard").length;
var count = 1;

function myLoop() {         
  setTimeout(function() {   
    console.log('hello');
    count  ;
    if (count < arrLength) {       
        $(".iconAddToCard").each(function(i) { 
          taskOne(i, $(this));
          myLoop();
        })
    }
  }, 6000 * count)
}

myLoop();
 

Предложение погони
Боковой ползунок