Todos los meses, Chase ofrece recompensas en sus tarjetas de crédito a través de diferentes tiendas. Hay como 70 ofertas y hacer clic en cada una es un dolor en el trasero. Estoy tratando de encontrar una manera de automatizar esto con un script en la consola de DevTools o usando un fragmento de código de DevTools. El problema es que no soy un gran ingeniero de JS.
Lo que intento hacer es usar un script para "hacer clic" en una de las ofertas. Luego, aparece un control deslizante derecho con información sobre la oferta. Luego me gustaría hacer "clic" en el botón X para cerrar ese control deslizante y luego pasar a la siguiente oferta. He probado un montón de diferentes variaciones de código que simplemente no parecen funcionar. Me está costando asimilar cómo hacer que Promises funcione. También probé setTimeouts en un montón de lugares diferentes con un montón de horas diferentes.
He incluido las imágenes para mostrar el diseño y las clases que intento seleccionar.
Último intento (en este punto me había dado por vencido)
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();Otro intento fallido
$(".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();