Почему не работает этот код?

Есть элемент на странице
<div class="im_editable im-chat-input--text _im_text" tabindex="0" contenteditable="true" id="im_editable0" role="textbox" aria-multiline="true"></div>


Есть функция
def input_event_dispatch_emoji_support(self, element, text):
	JS_ADD_TEXT_TO_INPUT = """
	  var elm = arguments[0], txt = arguments[1];
	  elm.value += txt;
	  elm.dispatchEvent(new Event('change'));
	  """
	self.driver.execute_script(JS_ADD_TEXT_TO_INPUT, element, text)


Есть область в коде где эта функция вызывается
def chat_message(self, msg):
	elem = self.driver.find_element_by_class_name("im-chat-input--text")
	self.input_event_dispatch_emoji_support(elem, msg)
	#elem.send_keys(msg)
	elem.send_keys(Keys.ENTER)


Почему код скрипта не работает? Нагуглил решение через джаваскрипт здесь но даже обычные сообщения в текстбокс не вводятся
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
@h88p
Pre-Junior HTML Developer
Используйте input вместо div
Об этом даже написано там, где вы взяли код
you'll have to use a script injection to write your text in the desired input via the
value property
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы