2010-06-06 16 views
1

La méthode ContainsText trouve le texte uniquement dans une zone spécifique du code HTML, mais ne parvient pas à trouver l'ID dans d'autres parties de la page. Le texte situé sous 'div id = "content"' se trouve Mais le texte dans une autre zone du html ne se trouve pas (fe 'form id = "aspnetForm"')La méthode Watin ContainsText ne trouve pas de texte dans FireFox

 Browser b = new FireFox("http://localhost:8668/login.aspx"); 
     b.Button("login.login.button")).Click(); 
     bool blah = b.ContainsText("Hello"); 

Je m en utilisant la dernière version de watin. Le problème est reproduit avec FF3.0, FF3.5 et FF3.6 Dans IE, cela fonctionne bien pour le texte testé.

Répondre

2

solution d'occasion:

En analysant le code html avec le pack d'agilité html

ressemble à ceci:

public bool ContainsTextInternal(string text) 
    { 
     var htmldoc = new HtmlDocument(); 
     htmldoc.LoadHtml(browser.Html); 
     return htmldoc.DocumentNode.InnerText.Contains(text); 
    } 

html agility pack link