Tengo dos scripts de usuario que deben ejecutarse en la consola del navegador.
Script n. ° 1: espera a que aparezca la clase .cdn_download_item en la página, después de lo cual aparece una respuesta que dice "la clase ha sido detectada".
Script n.º 2: este script debe usarse solo después de la aparición de la clase .cdn_download_item , porque itera sobre los tramos de esta clase y los genera.
Si ejecuto estos scripts por separado. Entonces todo funciona. Pregunta: ¿cómo combino estos scripts en uno solo y obtengo el resultado?
Guión #1
document.addEventListener('DOMNodeInserted', function(event){ if(document.querySelectorAll('.cdn_download_item')) { console.log('класс обнаружен'); } else { console.log('не удалось обнаружить класс'); } }, true);Guión #2
var elements = Array.from(document.querySelectorAll('.cdn_download_item span:first-child')); var linksArray = new Array(); for (element of elements) { linksArray.push(element.innerText); } linksArray;Necesito algo como esto (ver abajo)
document.addEventListener('DOMNodeInserted', function(event){ if(document.querySelectorAll('.cdn_download_item')) { var elements = Array.from(document.querySelectorAll('.cdn_download_item span:first-child')); var linksArray = new Array(); for (element of elements) { linksArray.push(element.innerText); } linksArray; } else { //if the class has not been detected yet, then we are waiting for the class to appear } }, true);Traté de combinar estos scripts por mí mismo así (ver más abajo). Mi código no funciona correctamente, el resultado debería salir una vez y la matriz debería constar de 76 elementos, ¡y ahora el resultado sale 76 veces!
document.addEventListener('DOMNodeInserted', function(event){ if(document.querySelectorAll('.cdn_download_item')) { var elements = Array.from(document.querySelectorAll('.cdn_download_item span:first-child')); var linksArray = new Array(); for (element of elements) { linksArray.push(element.innerText); } console.log(linksArray); } }, true);