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

Проблема с установкой значения скрытому input

selenide
Теги: #<Tag:0x00007f7b642310e0>

(Роман Александрович) #1

На странице есть такой input:

<input type="hidden" name="BirthMonth" id="HiddenBirthMonth" value="">

При попытке установить ему value:

$("#HiddenBirthMonth").setValue("04");

Валится с ошибкой:

Exception in thread "main" Element should be visible {#HiddenBirthMonth}
Element: '<input id="HiddenBirthMonth" name="BirthMonth" type="hidden" displayed:false></input>'

Можно ли каким-то образом решить эту проблему?


(Сергей Кузьмин) #2

это datepicker ?


#3

Можете с помощью JS поменять hidden на visible, вставить свое значение и вернуть назад как было.


(Roma Marinsky) #4

А пользователь видит это поле? А может не нужно его использовать? Ну или может фронтэндщиков спроси, это нормально или нет и то что тебе этот элемент нужен как видимый


(asolntsev) #5

Если пользователь не видит это поле, то и в тесте не нужно его менять. Тест же должен эмулировать действия пользователя.

Изредка это всё-таки нужно - например, когда значение поля выставляет какой-нибудь хитрый плагин, который мы хотим в тестах эмулировать. Тогда можно поменять значение с помощью JavaScript:

Selenide.executeJavaScript("$('#HiddenBirthMonth').val('04')");