web-dev-qa-db-ja.com

WebDriverException要素は、それをクリアするためにユーザーが編集可能でなければなりません

テストケースを実行してパスワードのリセットを実行しようとしていますが、この問題に直面しています。

クリアするには、WebDriverException要素をユーザーが編集できるようにする必要があります。

基本的に私は新しいパスワードを入力するためのページにアクセスしてこれを行っています:

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

上記の行を実行するとエラーがスローされます。

9

私は同じ問題を抱えていましたが、それは入力フィールドではない同じIDを持つ別の要素があったためにクリアできなかったためです。

29
mosaad

以下を試すことができます:

WebElement.sendKeys(Keys.DELETE);
WebElement.sendKeys("Test");
2
Mohd Yusuf

入力タイプに誤った方法を使用している場合が考えられます。

少なくともCodeCeptionでは、fillFieldを入力要素で使用し、selectOptionを選択要素で使用する必要があります。これらを混合するとinvalid element state: Element must be user-editable in order to clear it.

1
tschumann

PrimefacesのautoComplete要素でこの問題が発生しました。 Primefaces 6.0は、渡されたIDでスパンをレンダリングし、その中で、IDに「_input」が追加された入力をレンダリングします。ソースコードに追加したIDをそのまま使用する場合は、Seleniumにスパンに入るように指示します(「要素はユーザーが編集可能でなければなりません」エラーで失敗します)。 SeleniumでIDで選択する場合は、IDに「_input」を追加します。

0
Robert