Как отправить консольную команду на веб-страницу в JS? - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь отправить сообщение в чат через Greasemonkey для Firefox. На веб-странице нет кнопки, сообщение должно быть отправлено с ключом ввода. При проверке поля ввода в чате появляется следующее сообщение:

<input type="text" id="chatcli" placeholder="type chat message here" onkeyup="if(event.keyCode == 13) ChatClient.sendLine();">

Я могу редактировать текстовое поле, используя document.getElementById('chatcli').value = "/bot command here"+x, но не могу понять, как его на самом деле отправить.

Я заметил, что если я наберу ChatClient.sendLine(); в консоли, сообщение отправится. Я попытался вставить этот код в мой скрипт Greasemonkey, но он не сработал. Я также пытался document.ChatClient.sendLine();, ничего.

Должен быть способ отправки консольных команд на веб-страницу. Что мне не хватает? Если бы кто-то мог указать мне правильное направление, я был бы признателен.

1 Ответ

1 голос
/ 07 ноября 2019

Вы можете отправить событие клавиатуры с правом keyCode.

document.querySelector("#btn").addEventListener("click",function(){
  var input = document.querySelector("#chatcli");
  input.value = "/bot command here";
  input.dispatchEvent(new KeyboardEvent('keyup',{'keyCode':13}));
});
<input type="text" id="chatcli" placeholder="type chat message here" onkeyup="if(event.keyCode == 13) console.log('enter pressed. textbox value:' + this.value);">

<button id="btn">click me to test</button>
...