如何使用WebBrowser阅读IFRAME html代码?
我的网站包含iframe,点击几下后,新的网址会在此IFRAME中打开HTML代码的某些部分。有没有可能读到这个?当我尝试Navigate()到此URL时,我被重定向到此站点的主页面(无法打开此链接两次)。
Uri IFRAME_URL = webBrowser1.Document.Window.Frames[0].Url;
也许有类似的东西:
Uri IFRAME_URL = webBrowser1.Document.Window.Frames[0]. ... DOCUMENTTEXT;
答案 0 :(得分:4)
尝试:
string content = webBrowser1.Document.Window.Frames[0].WindowFrameElement.InnerText;
答案 1 :(得分:1)
您还可以通过mshtml类型获取各种项目:
在COM引用下设置对“Microsoft HTML Object Library”的引用。
设置你的使用声明:
using mshtml;
然后点击mshtml API来抓取源:
HTMLFrameBase frame = yourWebBrowserControl.Document.GetElementById( "yourFrameId" ).DomElement as HTMLFrameBase;
如果“line”在该行之后不为空,则它会挂起很多项目供您使用。
答案 2 :(得分:1)
尝试:
string content = webBrowser1.Document.Window.Frames [0] .Document.Body.InnerText
答案 3 :(得分:0)
WebBrowser控件窗口可以包含多个iframe和.net支持帧集合,所以为什么不使用这样的东西:
// Setup a string variable...
string html = string.Empty;
// webBrowser1.Document.Window.Frames gets a collection of iframes contained in the current document...
// HTMLWindow is the iterator for the Collection...
foreach (HtmlWindow frame in webBrowser1.Document.Window.Frames)
{
html += frame.Document.Body.OuterHtml;
}
通过这种方式,通过一些调整,您可以从所需的iframe容器中获得所需的一切。