Как заполнить текстовое поле веб-WhatsApp в javascript?

Я пытаюсь заполнить текстовое поле в Web WhatsApp с помощью Javascript, но оно не работает в соответствии с моим требованием.

Я хочу написать текст в текстовом поле, а затем нажать кнопку «Отправить» программно с помощью JS.

Это возможно?

Я попробовал следующий код в консоли,

document.getElementsByClassName('_2_1wd copyable-text selectable-text')[1].innerText = "hello this is test\\n"

ScreenShotвведите здесь описание изображения

Он пишет в текстовом поле, но перекрывает существующий заполнитель и кнопку отправки и не отображается при попытке программно.


person Taurus Codes    schedule 03.03.2021    source источник
comment
В чем ошибка? Что произошло по сравнению с тем, что вы ожидали?   -  person Dominik    schedule 03.03.2021
comment
Скорее всего, это будет поле ввода, что означает, что innerText здесь неправильный API. Вам, вероятно, понадобится value   -  person Dominik    schedule 03.03.2021
comment
Попробуйте document.getElementsByClassName('submit1wd copyable-text selectable-text')[1].value = "hello this is test" и используйте событие submit в форме для отправки.   -  person Dominik    schedule 03.03.2021
comment
Возможно, потребуется уведомить страницу, пример.   -  person wOxxOm    schedule 03.03.2021
comment
@Dominik, я пытался использовать «значение», но это не сработало, потому что элемент по своей природе является «div», а не полем ввода.   -  person Taurus Codes    schedule 03.03.2021
comment
@TaurusCodes мы не сможем вам помочь, если не будем знать html этой страницы. Попробуйте создать воспроизводимый автономный пример вашей проблемы здесь, на SO. Предпочтительно использовать функцию фрагмента кода   -  person Dominik    schedule 03.03.2021


Ответы (1)


Не желательно,

Но вы можете сделать это, вызвав события.

var inputEvent = new InputEvent('input', {
    bubbles: true,
    cancelable: true,
});
var clickEvent = new InputEvent('click', {
    bubbles: true,
    cancelable: true,
});

var selectableTextDiv = select that textDiv;
selectableTextDiv.innerText = "You desired Message";
selectableTextDiv.dispatchEvent(inputEvent)
// After triggeing input event.. you will see the send button
var sendButton = //selectThatButton
sendButton .dispatchEvent(clickEvent);

Но, как я уже упоминал выше, это не рекомендуется.

person Karthikeyan    schedule 03.03.2021