// Вызываем функцию для набора текста и отправки:
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
})
);