过去我正在使用
GeckoElementCollection elements = iframe.ContentDocument.GetElementsByName("name");
foreach (var element in elements)
{
if (element.GetAttribute("href") == "text")
{
MessageBox.Show(element.GetAttribute("class"));
}
}
所以我按名称找到了元素然后我检查了href是否是我试图找到的元素。 现在我没有任何元素名称只有类(几个元素的类是相同的),唯一的是href。所以我需要通过href搜索元素并用它执行点击/输入事件。
我相信我需要使用GeckoNode
GeckoNode node = iframe.ContentDocument.GetElementsByClassName("classname")[0].FirstChild;
if (NodeType.Element == node.NodeType)
{
MessageBox.Show(node.GetAttribute("hreff"));
}
然而GetAttribute不适用于节点..任何想法?
答案 0 :(得分:2)
我知道这个问题已经过时了,但今天我遇到了同样的问题并且我已经解决了。尝试这样的事情:
GeckoElementCollection fblikes = webBrowser.Document.GetElementsByTagName("a");
foreach (GeckoHtmlElement item in fblikes)
{
string aux = item.GetAttribute("href");
if (aux != null && aux != "" && aux.Equals("p.php?p=facebook"))
{
item.Click();
}
}