Показать сообщение отдельно
  #1 (permalink)  
Старый 07.02.2020, 12:17
Новичок на форуме
Отправить личное сообщение для sander234 Посмотреть профиль Найти все сообщения от sander234
 
Регистрация: 07.02.2020
Сообщений: 3

Функция будто зацикливается.MutationObserver.
Добрый день всем!
Пишу скрипт,и столкнулся с проблемой.Суть работы ,что данная ниже функция вызывается из другой.При срабатывание этой функции идет проверка на определенный "<li>" на странице, если он имеется:кликаем на кнопку и вводим "value" в "input",далее еще один клик по кнопке.В общем и целом это все прекрасно работает.НО!Есть одна проблемка.Условно ,мы начали поиск,страница пустая(нету нужного элемента "<li>") ,далее еще раз поиск(нет элемента),еще поиск(нет элемента),поиск (элемент есть) и тут будто клинит скрипт:тот же console.log срабатывает количество неудачных поисков,соответственно и клики так же заклинивает на это же количество раз.Если элемент находится с первого раза ,то никаких клинов нет.Я так понимаю у меня проблема где-то в завершение функции.Но добавление else после if никаких изменений не дает.В общем я не догоняю в чем проблема.Функцию с кака-кодом прикладываю .Буду благодарен в советах!)

function putitem(){ 
	
var observer1 = new MutationObserver(function(allmutations) {
	
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);
		
	
		
		 observer1.disconnect();
  }

});
 observer1.observe(document.body, {childList: true,subtree : true, attributes: true, characterData : true});		   
}

Последний раз редактировалось sander234, 07.02.2020 в 12:26.
Ответить с цитированием