我开始玩GeckoFX。不幸的是,我没有找到任何重要文件。我需要为页面获取DOM树。迭代每个元素并获取它的信息。有人可以帮助我吗?
答案 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;
//..
}