利用webBrowser获取框架内Html页面内容利用webBrowser获取页面比较简单,MSDN下有示例,在这里不必多说。 HTML 作者可以采用以下两种方法之一创建框架: - 或 -
框架和安全对框架的访问因为托管 HTML DOM 实施称为“跨框架脚本撰写安全”的安全措施的事实而比较复杂。如果文档包含的 FRAMESET 中的两个或多个 FRAME 在不同域中,这些 FRAME 互相之间不能交互。换言之,显示网站内容的 FRAME 无法访问承载第三方站点(例如 http://www.adatum.com/)的 FRAME 中的信息。在 HtmlWindow 类级别实现这种安全。可以获取关于承载另一个网站的 FRAME 的一般信息(例如它的 URL),但无法访问它的 Document 或更改它的宿主 FRAME 或 IFRAME 的大小或位置。 此规则也适用于使用 Open 和 OpenNew 方法打开的窗口。如果您打开的窗口所在域不同于在 WebBrowser 控件中承载的页面的域,您将无法移动该窗口或检查它的内容。当您使用 WebBrowser 控件显示一个与部署基于 Windows 窗体的应用程序所用网站不同的网站时,也将强制执行这些限制。如果使用 ClickOnce 部署技术从网站 A 安装应用程序,而使用 WebBrowser 显示网站 B,您将无法访问网站 B 的数据。 有关跨站点脚本撰写的更多信息,请参见 About Cross-Frame Scripting and Security(关于跨框架脚本撰写和安全) (http://msdn.microsoft.com/library/default.asp?url=/workshop/author/om/xframe_scripting_security.asp)。 请参见1.获取frame的源文件 MessageBox.Show(webBrowser1.Document.Window.Frames["main"].Document.Body.InnerHtml); 2.获取frame的HTMLDocument接口 HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument; 3.获取frame的IHTMLDocument2接口 IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.Window.Frames["main"].Document.DomDocument; 4.取得frame中被点击的连接 private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
转自:http://hi.baidu.com/zonesky/blog/item/d8b89e1b66329ed3ac6e7517.html |
利用webBrowser获取框架内Html页面内容
最新推荐文章于 2021-12-31 17:13:29 发布