Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как нажать 'Enter' в IE9 если отключил Native events


(Pavel Gavrilov) #1

Итак, для ускорения выполнения тестов на IE9 - отключил native events. Однако нужно нажимать клавишу ‘Enter’, раньше это делал через SendKeys - теперь не работает. В FF получилось эмулировать нажатие клавиши ‘Enter’ через javascript

element = window.frames[1].document.getElementById('name');
var e = document.createEvent('KeyboardEvent');
e.initKeyEvent('keypress', true, true, window, 0, 0, 0, 0, 13, 0);
element.dispatchEvent(e);

Для IE есть похожий метод, однако он не работает

element = window.frames[1].document.getElementById('name'); 
var e = document.createEvent('KeyboardEvent');
e.initKeyboardEvent("keypress", true, true, window, 13, 0, "", 0, 0);
element.dispatchEvent(e);

Где ошибка в коде для IE, или какими еще способами можно нажать клавишу ‘Enter’, пишу на Ruby

Спасибо


(Дмитрий Жарий) #2

Из сообщения не понятно ли вы пробовали

element.SendKeys(Keys.Enter);

Второй вариант – отправить Enter через JQuery:

На чистом JavaScript вам придется реализовывать тригер события отдельно для IE и FF. При этом, работа тригера в разных версиях IE может различаться.


(Pavel Gavrilov) #3

Из сообщения не понятно ли вы пробовали

element.SendKeys(Keys.Enter);

Да конечно, вот же писал - “делал через SendKeys”. Если делать через jquery что то подключать нужно что бы выполнять jquery код?


(Дмитрий Жарий) #4

Да, я упустил текст про SendKeys. :slight_smile:

В jQuey хорошо то, что он очень много где используется. Так что, если повезет, то вы эту библиотеку уже подключённой к веб странице и достаточно будет просто выполнить код.

Как вариант, можно динамически выполнить код на странице приложения, который подключает jQuery.