Wie kann ich konsequent entfernen Sie den Standard-text aus einem input-element mit Selen?

Ich versuche, Selenium WebDriver, um die Eingabe von text ein GWT-input-element, Standard-text "Geben Sie Benutzer-ID". Hier sind ein paar Möglichkeiten, die ich habe versucht, diese zu arbeiten:

        searchField.click();
        if(!searchField.getAttribute("value").isEmpty()) {
            //clear field, if not already empty 
            searchField.clear();
        }
        if(!searchField.getAttribute("value").isEmpty()) {
            //if it still didn't clear, click away and click back
            externalLinksHeader.click();
            searchField.click();
        }

        searchField.sendKeys(username);

Das merkwürdige ist das oben funktioniert dies nur, wenn Sie einige Zeit. Manchmal endet die Suche nach "User-IDU", im Grunde Beginn geben Sie "Benutzernamen" nach dem Standard-text -- und auch nicht bei der Fertigstellung, dass die.

Andere besser, zuverlässiger Weise zu leeren default-text aus einer GWT-element?

Bearbeitet, um hinzufügen: Die HTML des input-Elements. Leider gibt es nicht viel zu sehen, Dank der JS/GWT Schärfe. Hier ist das Feld, wenn es deaktiviert:

<input type="text" class="gwt-TextBox empty" maxlength="40">

Nachdem ich es angeklickt und manuell fokussieren, der Standard-text und die "leere" Klasse entfernt werden.

Den JS zu setDefaultText() wird aufgerufen, sowohl onBlur() und onChange() wenn die änderung das Ergebnis in eine leere text-Feld. Denke, das ist, warum die searchField.clear() ist nicht zu helfen.

Habe ich auch Durchlaufen diese Methode in den debug-Modus, und in diesem Fall funktioniert es nie. Wenn Sie normal läuft, arbeitet die Mehrheit der Zeit. Ich kann nicht sagen warum, obwohl.

  • Können Sie eine Kopie der HTML-Code der Steuerung, und ist es, dass javascript interagiert mit der Kontrolle?
  • Stellt die Standard-text in der input kommen aus einer placeholder HTML5-Attribut, oder ist es eine Art onfocus und onblur JavaScript?
InformationsquelleAutor mcole | 2012-06-28
Schreibe einen Kommentar