Comment puis-je enlever systématiquement le texte par défaut à partir d'un élément d'entrée avec du Sélénium?

Je suis en train d'utiliser Selenium WebDriver pour saisir du texte à une GWT élément de saisie par défaut du texte, "Entrer ID Utilisateur". Voici quelques solutions que j'ai essayé d'obtenir que cela fonctionne:

        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);

La chose étrange est que le ci-dessus, cela ne fonctionne que de temps en temps. Parfois, il finit de la recherche pour "Entrée Utilisateur Udi", en gros début de type "nom d'utilisateur" après le texte par défaut -- et même pas de finition.

De meilleur, de plus en plus de moyens fiables pour effacer du texte par défaut à partir d'un GWT élément?

Modifiées afin d'ajouter: Le code HTML de l'élément d'entrée. Malheureusement, il n'y a pas grand chose à voir, grâce à la JS/GWT hotness. Voici le terrain, quand elle est décochée:

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

Après que j'ai cliqué et de lui donner manuellement la mise au point, le texte par défaut et le "vide" de la classe sont supprimés.

Le JS pour setDefaultText() est appelé à la fois onBlur() et onChange() si le changement entraîne dans un champ de texte vide. Suppose que c'est pourquoi le searchField.clear() n'aide pas.

J'ai également renforcé grâce à cette méthode, en mode debug, et dans ce cas, il ne fonctionne jamais. Lorsqu'il est exécuté normalement, il fonctionne la plupart du temps. Je ne peux pas dire pourquoi, mais.

  • Vous pouvez poster une copie du code HTML de contrôle, et quel est le javascript qui interagit avec le contrôle?
  • Le texte par défaut dans la input venir à partir d'un placeholder HTML5, l'attribut, ou est-il une sorte de onfocus et onblur JavaScript?
InformationsquelleAutor mcole | 2012-06-28