Элемент WebDriverException должен быть редактируемым пользователем, чтобы очистить его

Я пытаюсь запустить контрольные примеры для сброса пароля и столкнулся с этой проблемой.

Элемент WebDriverException должен быть редактируемым пользователем, чтобы очистить его.

В основном я захожу на страницу для ввода нового пароля и выполнения этого:

browser.$("#newPassword").text("password");

где выполнение вышеуказанной строки выдает ошибку.

4 ответа

У меня была та же проблема, и это было потому, что был другой элемент с тем же идентификатором, который не был полем ввода, поэтому он не мог быть очищен.

Мы можем попробовать следующее:

WebElement.sendKeys(Keys.DELETE);
WebElement.sendKeys("Test");

Это может быть случай использования неправильного метода для типа ввода.

В CodeCeption по крайней мере, fillField должны использоваться на элементах ввода и selectOption следует использовать на отдельных элементах, и их смешение даст invalid element state: Element must be user-editable in order to clear it.

У меня была эта проблема с элементом автозаполнения Primefaces. Primefaces 6.0 рендерит диапазон с идентификатором, который вы передаете, и внутри него вход с "_input" добавляется к идентификатору. Если вы просто используете идентификатор, который вы добавили в свой исходный код, вы скажете Selenium войти в диапазон (который завершается ошибкой "элемент должен быть редактируемым пользователем"). Добавьте "_input" к идентификатору, если вы выбираете по идентификатору в селене.

Другие вопросы по тегам