如何在GeckoFX中获取D​​om树

时间:2009-09-17 18:36:31

标签: c# .net geckofx

我开始玩GeckoFX。不幸的是,我没有找到任何重要文件。我需要为页面获取DOM树。迭代每个元素并获取它的信息。有人可以帮助我吗?

4 个答案:

答案 0 :(得分:6)

我知道这是一个较老的问题,但有人可能仍在寻找答案。

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

答案 1 :(得分:3)

示例代码:

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

答案 2 :(得分:0)

nsIDOMNode将为您提供DOM遍历功能。您可以从Document节点开始。您可以查看nsInterfaces.cs文件以获取接口详细信息。

答案 3 :(得分:0)

如果您想使用XPath,可以试试这个:

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

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

所以在prev代码中:

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;
    //..
}