Показать сообщение отдельно
  #2 (permalink)  
Старый 08.02.2020, 01:49
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

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.");
		}
	}
})();
Ответить с цитированием