Написал функцию для эмуляции ввода сообщения в WhatsApp Web:
// Вызываем функцию для набора текста и отправки:
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);
}
Наверняка многим пригодится. Спасибо
Mikhail Osher за наводку на правильный алгоритм действий)