J'essaie d'effacer un champ de texte en utilisant cette action:
emailField.sendKeys("gmail.com");
emailField.sendKeys(Keys.CONTROL,"a",Keys.DELETE);
Dans le code ci-dessus, la dernière ligne sélectionne uniquement le texte, ne le supprime pas, mais si je sépare les actions, cela fonctionne.
emailField.sendKeys(Keys.CONTROL,"a");
emailField.sendKeys(Keys.DELETE);
Depuis le JavaDoc pour WebElement.clear()
:
Si cet élément est un élément d'entrée de texte, cela effacera la valeur . N'a aucun effet sur les autres éléments. Les éléments de saisie de texte sont INPUT et Éléments TEXTAREA. Notez que les événements déclenchés par cet événement peuvent ne pas être comme vous vous en doutez. En particulier, nous ne tirons aucun clavier ni aucune souris événements. Si vous voulez vous assurer que les événements de clavier sont déclenchés, considérez en utilisant quelque chose comme
sendKeys(CharSequence)
avec la touche backspace . À assurez-vous d’obtenir un événement de changement, envisagez de suivre avec un appel àsendKeys(CharSequence)
avec la touche de tabulation.
Très probablement, vous devez simplement appeler:
emailField.sendKeys("gmail.com");
emailField.clear();
Mais si vous souhaitez que la suppression soit effectuée au clavier pour une raison quelconque, utilisez backspace .
keys.DELETE ne peut pas travailler pour supprimer le texte saisi, vous devez utiliser keys.BACKSPACE.
emailField.sendKeys(Keys.BACKSPACE)
Depuis le JavaDoc pour Keys.chord
accord (valeur Java.lang.CharSequence ...) Simulez en appuyant sur plusieurs touches à la fois dans un "accord".
Vous devriez pouvoir utiliser
emailField.sendKeys(Keys.chord(Keys.CONTROL,"a",Keys.DELETE));
Testé en chrome driver
WE.send_keys(' \b')
Cela va ajouter de l'espace puis le supprimer (backspace)
emailField.sendKeys(Keys.BACKSPACE)
ça n'a pas marché pour moi.
J'ai utilisé 'Key' au lieu de 'Keys'
emailField.sendKeys(Key.BACKSPACE)