it-swarm.com.de

Comment supprimer les valeurs par défaut dans champ de texte à l'aide de sélénium?

Je veux supprimer une valeur par défaut d'une zone de texte für Entrer la nouvelle valeur, je ne comprends pas comment faire cela.

Je pensais utiliserCTRL+aet alorsDeleteMehr dazu in diesem Kommentar faire cela.

J'ai même utilisé la commande driver.findElement("locator").clear(); de WebDriver.

23
Wasi

Wenn Sie nach einer Lösung von Selenium RC suchen, können Sie diese einfach verwenden

// assuming 'Selenium' is a healthy Selenium instance
Selenium.type("someLocator", "");
2
Petr Janeček

Und war der Code hilfreich? Weil der Code, den Sie schreiben, die Sache tun soll:

driver.findElement("locator").clear();

Wenn es nicht hilft, dann probiere es aus:

WebElement toClear = driver.findElement("locator");
toClear.sendKeys(Keys.CONTROL + "a");
toClear.sendKeys(Keys.DELETE);

vielleicht müssen Sie einige Konvertierungen von Keys.CONTROL + "a" in CharSequence durchführen, aber der erste Ansatz sollte die Magie bewirken

39
Pavel Janicek

Für das Seitenobjektmodell -

 @FindBy(xpath="//foo")
   public WebElement textBox;

jetzt in deiner Funktion

 public void clearExistingText(String newText){
    textBox.clear();
    textBox.sendKeys(newText);
  }

für allgemeine Seleniumarchitektur -

driver.findElement(By.xpath("//yourxpath")).clear();
driver.findElement(By.xpath("//yourxpath")).sendKeys("newText");
3
Shek

Sie können den folgenden Code verwenden. Er wählt den im Feld vorhandenen Wert aus und überschreibt ihn mit dem neuen Wert.

driver.findElement(By.xpath("*enter your xpath here*")).sendKeys(Keys.chord(Keys.CONTROL, "a"),*enter the new value here*);
2
Eric Fernandes

Das hat bei mir geklappt:

driver.findElement(yourElement).clear();

driver.findElement(yourelement).sendKeys("");

1
kljaksa

Die folgende Funktion löscht das Eingabezeichen nacheinander, bis das Eingabefeld mit PromiseWhile leer ist

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);
        });
      });
    }
1
uri wald

.clear () kann verwendet werden, um den Text zu löschen

  (locator).clear();

wenn Sie clear mit dem Locator verwenden, werden alle Werte in diesem genauen Locator gelöscht.

0
Sanju Abel

driver.findElement(locator).clear() - Dieser Befehl funktioniert in allen Fällen

0
dom thomas