web-dev-qa-db-fra.com

L'élément WebDriverException doit être modifiable par l'utilisateur pour le supprimer.

J'essaie d'exécuter des scénarios de test pour effectuer la réinitialisation du mot de passe et je suis confronté à ce problème.

WebDriverException Element doit être modifiable par l'utilisateur pour le supprimer.

En gros, j'accède à la page pour entrer le nouveau mot de passe et le faire:

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

où l'exécution de la ligne ci-dessus renvoie l'erreur.

5
Immanuel Fredrick

J'ai eu le même problème et c'était parce qu'il y avait un autre élément avec le même identifiant qui n'était pas un champ de saisie, il ne pouvait donc pas être effacé.

21
mosaad

Il peut s'agir d'utiliser la mauvaise méthode pour le type d'entrée.

Dans CodeCeption au moins, fillField devrait être utilisé sur les éléments d'entrée et selectOption devrait être utilisé sur certains éléments et leur mélange conférerait invalid element state: Element must be user-editable in order to clear it.

1
tschumann

Nous pouvons essayer ce qui suit:

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

J'ai eu ce problème avec un élément autoComplete de Primefaces. Primefaces 6.0 génère une étendue avec l'ID que vous transmettez et une entrée avec un "_input" ajouté à l'ID. Si vous utilisez simplement l'ID que vous avez ajouté dans votre code source, vous indiquez à Selenium d'entrer dans la plage (ce qui échoue avec l'erreur "l'élément doit être éditable par l'utilisateur"). Ajoutez le "_input" à l'ID si vous sélectionnez par ID dans Selenium.

0
Robert