我正在尝试运行测试用例以执行重置密码,我正面临这个问题。
WebDriverException元素必须是用户可编辑的才能清除它。
基本上我正在访问用于输入新密码的页面并执行此操作:
browser.$("#newPassword").text("password");
执行上述行会引发错误。
答案 0 :(得分:24)
我有同样的问题,因为有另一个具有相同id的元素,它不是输入字段,因此无法清除。
答案 1 :(得分:1)
我们可以尝试以下方法:
WebElement.sendKeys(Keys.DELETE);
WebElement.sendKeys("Test");
答案 2 :(得分:1)
可能是对输入类型使用错误方法的情况。
至少在CodeCeption中,应在输入元素上使用fillField
,在选择元素上使用selectOption
,将它们混合将得到invalid element state: Element must be user-editable in order to clear it.
答案 3 :(得分:0)
我有一个Primefaces autoComplete元素的问题。 Primefaces 6.0使用您传递的ID呈现一个跨度,并在其中输入一个“_input”附加到ID的输入。如果您只是使用您在源代码中添加的ID,则告诉Selenium进入跨度(失败并显示“元素必须是用户可编辑的”错误)。如果您在selenium中按ID选择,请将“_input”添加到ID。