我如何获得所有的HTML属性与GeckoFX/ c#

本文关键字:属性 GeckoFX HTML 何获得 | 更新日期: 2023-09-27 18:02:40

在c# viaGeckoFx中,我还没有找到一个方法来查找元素的所有属性。

为了做到这一点,我编写了一个JavaScript函数。这是我的代码
GeckoWebBrowser GeckoBrowser = ....;
GeckoNode NodeElement = ....; // HTML element where to find all HTML attributes 
string JSresult = "";
string JStext = @"
function getElementAttributes(element) 
{
    var AttributesAssocArray = {};
    for (var index = 0; index < element.attributes.length; ++index) { AttributesAssocArray[element.attributes[index].name] = element.attributes[index].value; };
    return JSON.stringify(AttributesAssocArray);
} 
getElementAttributes(this);
";
using (AutoJSContext JScontext = new AutoJSContext(GeckoBrowser.Window.JSContext)) { JScontext.EvaluateScript(JStext, (nsISupports)NodeElement.DomObject, out JSresult); }

你有其他的建议来实现这在c#(没有Javascript)?

我如何获得所有的HTML属性与GeckoFX/ c#

属性GeckoElement。属性允许访问元素的属性。

例如(这是未测试和未编译的代码):
public string GetElementAttributes(GeckoElement element)
{
   var result = new StringBuilder();
   foreach(var a in element.Attributes)
   {
       result.Append(String.Format(" {0} = '{1}' ", a.NodeName, a.NodeValue));
   }
   return result.ToString();
}