使用Webbrowser C#从iframe读取HTML代码

时间:2010-11-10 15:39:51

标签: c# iframe browser

如何使用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;

4 个答案:

答案 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容器中获得所需的一切。