Как я могу манипулировать диапазоном входного объекта в nightwatch?

СЗ нуби здесь. Как я могу увеличить/уменьшить значение элемента диапазона через Nightwatch?

Я пробовал sendKeys безрезультатно.

Заранее спасибо.


person Sua Morales    schedule 08.09.2015    source источник


Ответы (2)


способ, который сработал для меня, - это выполнить javascript в браузере, чтобы изменить значение input = range, а затем вызвать событие изменения

   .execute(function(data) {
        try {
            // statements

            p = document.querySelector("input[type='range']");
            p.value = 41;
            event = document.createEvent("HTMLEvents");
            event.initEvent("change", true, true);
            p.dispatchEvent(event);
        } catch(e) {
            // statements
            console.log(e);
        }


        return true;
    }, [], function(result) {

    });
person deividsito    schedule 05.07.2016
comment
Это не сработало для меня в полной мере. Он переместил ползунок, но не вызвал событие изменения. Это конкретный браузер? - person climboid; 14.03.2017
comment
да, это зависит от браузера, здесь у вас есть полное руководство по запуску событий для всех браузеров в этом вопросе stackoverflow.com/questions/2490825/ - person deividsito; 16.03.2017

Мне удалось заставить его работать, вызвав событие перетаскивания в диапазоне типов ввода.

person climboid    schedule 25.03.2017
comment
Я понимаю, что на этот вопрос был дан ответ 4 года назад, но я пытаюсь сделать что-то подобное... используя try/catch в функции .execute... но не похоже, что try/catch работает. В частности, если есть ошибка, она не регистрируется в консоли. Уточнение - ошибка регистрируется, но она переходит в веб-консоль, а не в консоль в моей среде IDE (VSCode). - person John Kretschmann; 24.03.2021