【发布时间】:2014-01-31 17:02:58
【问题描述】:
我正在使用 GeckoFX 22 c# Web 浏览器控件,但无法访问 iframe 中的标签。当我检查壁虎 innerhtml 时,似乎虽然 iframe 标记显示在 html 中,但它的内容却没有。
这是我用来获取浏览器控件的内部 html 的代码,它只是将 iframe 标记显示为空(当它内部应该有另一个文档时):
GeckoHtmlElement element = null;
var geckoDomElement = webBrowser.Document.DocumentElement;
if (geckoDomElement is GeckoHtmlElement)
{
element = (GeckoHtmlElement)geckoDomElement;
var innerHtml = element.InnerHtml;
}
之前我使用类似于以下代码的代码来访问可以正常工作的各个元素:
GeckoDocument checkDoc = (GeckoDocument)webBrowser.Window.Document;
var x = (checkDoc.GetElementsByTagName("a").Where(b => b.Id == "ipt-form-format-aside").First());
我能够获取单个元素并更改它们的值/触发事件等,而主 html 文档没有问题,但 iframe 中的任何内容都无法获取元素。我想也许 Iframe 尚未加载或类似的东西。有没有办法强制控件在尝试访问其元素之前等待 I 框架加载?
【问题讨论】:
-
这里没有答案有效。同样的问题:stackoverflow.com/questions/35243259/…