Элемент 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" к идентификатору, если вы выбираете по идентификатору в селене.