C# 如何在GeckoFX中获取Dom树

C# 如何在GeckoFX中获取Dom树,c#,.net,geckofx,C#,.net,Geckofx,我开始玩壁虎。不幸的是,我没有找到任何关于这个的大文档。我需要获取页面的DOM树。迭代每个元素并获取其信息。有人能帮我吗?nsIDOMNode将为您提供DOM遍历能力。您可以从文档节点开始。您可以查看nsInterfaces.cs文件以了解接口详细信息。示例代码: GeckoElementCollection links = geckoWebBrowser1.Document.GetElementsByTagName("a"); foreach (GeckoElement link in lin

我开始玩壁虎。不幸的是,我没有找到任何关于这个的大文档。我需要获取页面的DOM树。迭代每个元素并获取其信息。有人能帮我吗?

nsIDOMNode
将为您提供DOM遍历能力。您可以从文档节点开始。您可以查看
nsInterfaces.cs
文件以了解接口详细信息。

示例代码:

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

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

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

如果要使用XPath,可以尝试以下方法:

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

 var r = browser.Document.EvaluateXPath("//div");
 Assert.AreEqual(1, r.GetNodes().Count());
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;
    //..
}