Selenide. Ввод текста в input. Не стирается предыдущее значение

Задача: вводить на форме сумму. Есть предустановленное значение
Сам элемент следующий:

<input type="number" pattern="" placeholder="" autocomplete="off" step="any" min="0">

Делаю следующее:

inputAmount.clear();
inputAmount.sendKeys(amount);

В итоге имеем:

  1. Стирается текущее значение
  2. Вводится текст следом за предустановленным(хотя в первом пункте оно исчезло)


Стирала значение “500”, вводила “200”

Через установку value не работает
Как быть?)

Может, после стирания фокус сменить? Чтобы стирание окончательно применилось.

Не сработал такой способ

А можно поконкретнее, что значит “не работает”?
А вообще такие проблемы часто вызваны каким-то хитрым JavaScript обработчиком на этой странице. Вплоть до того, что это может быть бага: ведь реальный пользователь тоже может огрести такую же проблему, если достаточно быстро жмякнет кнопки.

Подобные проблему уже обсуждались, у вас случайно не одна из них?

  1. Feature Request: Implement textType(text, charsPerMinute) method · Issue #1358 · selenide/selenide · GitHub
  2. SetValue("") sometimes doesn't work properly with some frameworks and/or validators (React, etc...) · Issue #1497 · selenide/selenide · GitHub
  3. disable "unfocusing steps" after clear() in SelenideElement#setValue() · Issue #960 · selenide/selenide · GitHub

Заработало только следующим образом:
Эмуляция нажатий Keys.BACK_SPACE в input.
И далее уже inputAmount.sendKeys(amount);

Честно сказать, я так пока и не поняла причину этого

Когда я устанавливаю value, то это значение ни на что не влияет. Устанавливала следующим образом:
SelenideHelper.executeScript("arguments[0].setAttribute('value','123')", inputAmount);

У меня тоже в некоторых местах не работает функция clean(), причём не стирается даже, поэтому тоже использую Keys.BACK_SPACE

Вот у меня создается видимость того, что стерлось все)
Вы не нашли закономерность от чего такое?

Закономерность не нашёл. Но есть подозрение, что связано с атрибутом placeholder, потому что у меня тоже много полей с этим атрибутом. Не пробовали сначала вызвать функцию click(), а потом clear()?

Пробовала. Не получилось. И что самое интересное-вижу при отладке значение value у элемента, сама через JS пытаюсь выставить-не работает.
Никак не смогла найти подход к элементу кроме как использование Keys.BACK_SPACE

Пробовал с placeholder и без, результат один, не очищается поле :pensive:

Придется нам использовать Keys.BACK_SPACE :woman_shrugging:
А может еще кто-то нам подскажет решение

Тоже была такая проблема

1 лайк