2009-09-17 7 views
2

J'ai commencé à jouer avec GeckoFX. Malheureusement, je n'ai trouvé aucune grande documentation pour cela. J'ai besoin d'obtenir l'arbre DOM pour la page. Itérer chaque élément et obtenir son information. Quelqu'un peut-il m'aider s'il vous plaît?Comment obtenir l'arbre Dom dans GeckoFX

Répondre

3

code Exemple:

GeckoElementCollection links = geckoWebBrowser1.Document.GetElementsByTagName("a"); 
foreach (GeckoElement link in links) { 
    Debug.WriteLine(link.GetAttribute("href")); 
} 
0

nsIDOMNode vous fournira la capacité de déplacement DOM. Vous pouvez commencer à partir du noeud Document. Vous pouvez regarder dans le fichier nsInterfaces.cs pour les détails de l'interface.

5

Je sais que c'est une question plus mais quelqu'un peut encore être à la recherche d'une réponse.

GeckoNodeCollection nodes = geckoWebBrowser1.Document.GetElementsByName("*"); 
foreach(GeckoNode node in nodes) 
{ 
    //do whatever you need to do with the node .. 
    GeckoElement element = node as GeckoElement; 
    //.. 
} 
+0

après 7 ans, il a travaillé comme un charme! :> –

0

Si vous souhaitez utiliser XPath, vous pouvez essayer avec ceci:

browser.LoadXml("<MyTag><div>helloworld</div></MyTag>"); 

var r = browser.Document.EvaluateXPath("//div"); 
Assert.AreEqual(1, r.GetNodes().Count()); 

donc dans le code précédent:

GeckoElementCollection nodes = browser.Document.EvaluateXPath("//div").GetNodes();  
foreach(GeckoNode node in nodes) 
{ 
    //do whatever you need to do with the node .. 
    GeckoElement element = node as GeckoElement; 
    //.. 
} 
Questions connexes