#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();