Je veux supprimer une valeur d'une zone de texte pour entrer la nouvelle valeur, mais je ne comprends pas comment faire cela.
Je pense utiliserCTRL+aet alorsDeletemais je ne sais pas comment faire cela.
J'ai même utilisé la commande driver.findElement("locator").clear();
de WebDriver.
Si vous cherchez une solution de Selenium RC, vous pouvez l’utiliser simplement.
// assuming 'Selenium' is a healthy Selenium instance
Selenium.type("someLocator", "");
Et le code était-il utile? Parce que le code que vous écrivez devrait faire la chose:
driver.findElement("locator").clear();
Si cela ne vous aide pas, essayez ceci:
WebElement toClear = driver.findElement("locator");
toClear.sendKeys(Keys.CONTROL + "a");
toClear.sendKeys(Keys.DELETE);
vous devrez peut-être convertir le Keys.CONTROL + "a"
en CharSequence, mais la première approche devrait faire la magie
Pour le modèle d'objet de page -
@FindBy(xpath="//foo")
public WebElement textBox;
maintenant dans votre fonction
public void clearExistingText(String newText){
textBox.clear();
textBox.sendKeys(newText);
}
pour l'architecture générale au sélénium -
driver.findElement(By.xpath("//yourxpath")).clear();
driver.findElement(By.xpath("//yourxpath")).sendKeys("newText");
Vous pouvez utiliser le code ci-dessous. Il sélectionne la valeur préexistante dans le champ et la remplace par la nouvelle valeur.
driver.findElement(By.xpath("*enter your xpath here*")).sendKeys(Keys.chord(Keys.CONTROL, "a"),*enter the new value here*);
La fonction suivante supprimera le caractère saisi un à un jusqu'à ce que le champ d'entrée soit vide à l'aide de PromiseWhile.
driver.clearKeys = function(element, value){
return element.getAttribute('value').then(function(val) {
if (val.length > 0) {
return new Promise(function(resolve, reject) {
var len;
len = val.length;
return promiseWhile(function() {
return 0 < len;
}, function() {
return new Promise(function(resolve, reject) {
len--;
return element.sendKeys(webdriver.Key.BACK_SPACE).then(function() {
return resolve(true);
});
});
}).then(function() {
return resolve(true);
});
});
}
.clear () peut être utilisé pour effacer le texte
(locator).clear();
utiliser clear avec le localisateur supprime toute la valeur de ce localisateur exact.
driver.findElement(locator).clear()
- Cette commande fonctionnera dans tous les cas