10

我正在尝试运行测试用例来执行重置密码,我正面临这个问题。

WebDriverException 元素必须是用户可编辑的才能清除它。

基本上我正在访问页面以输入新密码并执行此操作:

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

执行上述行会引发错误。

4

4 回答 4

33

我遇到了同样的问题,这是因为有另一个具有相同 id 的元素不是输入字段,因此无法清除。

于 2016-07-14T13:22:23.953 回答
2

我们可以尝试以下方法:

WebElement.sendKeys(Keys.DELETE);
WebElement.sendKeys("Test");
于 2016-09-14T09:50:00.880 回答
1

这可能是对输入类型使用错误方法的情况。

至少在 CodeCeption 中,fillField应该在输入元素上使用,并且selectOption应该在选择元素上使用,并将它们混合起来会给出invalid element state: Element must be user-editable in order to clear it.

于 2018-11-12T06:20:21.357 回答
0

我遇到了 Primefaces autoComplete 元素的问题。Primefaces 6.0 使用您传递的 ID 呈现跨度,并在其中呈现带有附加到 ID 的“_input”的输入。如果您只使用在源代码中添加的 ID,您会告诉 Selenium 进入跨度(失败并出现“元素必须是用户可编辑”错误)。如果您在 selenium 中按 ID 选择,请将“_input”添加到 ID。

于 2017-10-23T19:41:48.770 回答