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

Есть элемент на странице
<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)


Почему код скрипта не работает? Нагуглил решение через джаваскрипт здесь но даже обычные сообщения в текстбокс не вводятся
  • Вопрос задан
  • 221 просмотр
Решения вопроса 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
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
17 апр. 2024, в 00:31
1000 руб./за проект
17 апр. 2024, в 00:13
800 руб./за проект
17 апр. 2024, в 00:06
240000 руб./за проект