Код: Выделить всё
function getInputText() {
// Select all spans containing text
const allSpans = document.querySelectorAll("span.selectable-text.copyable-text.false[data-lexical-text='true']");
// Take the last visible span (last written message)
const lastSpan = allSpans[allSpans.length - 1];
if (!lastSpan) {
return null;
}
const text = lastSpan.innerText.trim();
return text || null;
}
function setInputText(text) {
// Select the WhatsApp Web message input field where the text should be injected
const messageBox = document.querySelectorAll("[contenteditable='true']")[1];
if (!messageBox) {
return;
}
// Inject the text into the input field
messageBox.innerHTML = text.replace(/ /gm, ''); // Replace spaces if needed
}
< /code>
Проблема заключается в том, что, хотя я могу правильно извлечь текст из последнего сообщения, инъекция не работает, как и ожидалось. Я попытался изменить текст непосредственно в Innerhtml ввода сообщений, но текст не остается введенным, вероятно, из -за динамического характера веб -интерфейса WhatsApp. с MutationObserver для обнаружения и повторного инъекции текста, если изменения произошли в Dom. < /li>
Изменение содержания элементов, но это не влияет на ввод сообщения. О том, как обойти это ограничение, я бы очень признателен за вашу помощь!
заранее! < /p>
Подробнее здесь: https://stackoverflow.com/questions/796 ... -extension