sander234, если вам нужен однократный поиск при вызове putitem, то можно так...
function putitem() {
var item1 = document.querySelector("li.item.active");
if (item1) {
setTimeout (function() {
senditem1 = document.querySelector('button.accordian');
simulateClick(senditem1)
}, 500)
setTimeout(function() {
document.querySelectorAll('input.numeric')[1].value = "400"
}, 1000);
setTimeout(function() {
sendon1 = document.querySelectorAll('button.btn-standard')[0];
simulateClick(sendon1)
}, 1500);
console.log("listed ", document.querySelector(".itemname").innerHTML);
}
}
Если же вы хотите после вызова putitem отслеживать добавление элемента, то можно так...
var putitem = (function() {
var observer1 = new MutationObserver(function(mutationRecords) {
mutationRecords.forEach(function(mutationRecord) {
if(mutationRecord.type === "childList") {
mutationRecord.addedNodes.forEach(function(addedNode) {
if(addedNode.nodeType === Node.ELEMENT_NODE && addedNode.matches("li.active.item")) {
setTimeout (function() {
senditem1 = document.querySelector('button.accordian');
simulateClick(senditem1)
}, 500)
setTimeout(function() {
document.querySelectorAll('input.numeric')[1].value = "400"
}, 1000);
setTimeout(function() {
sendon1 = document.querySelectorAll('button.btn-standard')[0];
simulateClick(sendon1)
}, 1500);
console.log("listed ", document.querySelector(".itemname").innerHTML);
}
});
}
});
});
var i = 0;
return function putitem() {
i++;
if(i === 1) {
observer1.observe(document.body, {
childList: true,
subtree: true,
attributes: true,
characterData: true
});
} else {
console.warn("Possible MutationObserver memory leak detected. No observer is created.");
}
}
})();