如何在 GeckoFx 中获取 nsIDOMHTMLDocument?

How to get nsIDOMHTMLDocument in GeckoFx?

我正在尝试获取 DOM 中的元素列表:

private void geckoWebBrowser1_DocumentCompletedEvent(object sender, EventArgs e) {

   nsIDOMHTMLDocument givenDocument = geckoWebBrowser1.Document as nsIDOMHTMLDocument;
   var iframes = givenDocument.GetElementsByTagName(tagname);
   var iframe = iframes.Item(0);

}

但 givenDocument 始终为空。

我正在寻找如何使用任何 nsIDOMHTML 类型。到目前为止,我尝试过的所有操作都返回 null。

为什么要转换为 nsIDOMHTMLDocument?

您可以获得.GetElementsByTagName(tagName);方法也来自 GeckoDocument,无需强制转换即可正常工作。

  GeckoDocument document = this.Browser.Document;
        GeckoFrameElement frame = document.GetElementsByTagName("frame")[0] as GeckoFrameElement;