// Вызываем функцию для набора текста и отправки:
textEnter('Проверка события ввода сообщения в мессенджере WhatsApp. Смотрим, отсылается ли информация о том, что собеседник в данный момент печатает сообщение.');
// Функция для имитации ввода сообщения и его отправки:
function textEnter(text) {
	
	var array = text.split(''); // Разбиваем текст по символам в массив
	
	// Ищем поле вввода сообщения и записываем ссылку на него в переменную:
	
	var div = document.querySelector('div#main div[contenteditable="true"]');
	
	div.focus(); // Передаём фокус на поле ввода
	
	// Запускаем эмулятор посимвольного ввода:
	
	var emulator = setInterval(function() {
		
		// Пока есть символы в сообщени:
		
		if (array.length > 0) {
			
			// Вводим символ:
			var symbol = array.shift();
			div.innerHTML = div.innerHTML + symbol;
			
			// Передаём клавиатурные события отвечающие за ввод:
			div.dispatchEvent(new KeyboardEvent('keydown', { bubbles: true }));
			div.dispatchEvent(new KeyboardEvent('keypress', { bubbles: true }));
			div.dispatchEvent(new KeyboardEvent('keyup', { bubbles: true }));
			div.dispatchEvent(new InputEvent('input', { bubbles: true }));
			
		}
		
		// Если все символы введены:
		
		else {
			
			clearInterval(emulator); // Отключаем эмулятор ввода
			
			// Ищем и жмем кнопку отправки сообщения собеседнику:
			document.querySelector('span[data-icon="send"]').click();
			
		}
		
	}, 100);
}const mouseClickEvents = ['mousedown', 'click', 'mouseup'];
function simulateMouseClick(element){
  mouseClickEvents.forEach(mouseEventType =>
    element.dispatchEvent(
      new MouseEvent(mouseEventType, {
          view: window,
          bubbles: true,
          cancelable: true,
          buttons: 1
      })
    )
  );
}
// Ищем диалог по номеру телефона:
var element = document.querySelector('span[title="+7 905 837-96-43"]');
simulateMouseClick(element); // Симулируем событие клика// Ищем диалог с по номеру телефона:
dialog = document.querySelector('span[title="+7 905 837-96-43"]');
// Вызываем событие mousedown на найденном элементе:
dialog.dispatchEvent(
  new MouseEvent('mousedown', {
      bubbles: true
  })
);