0

使用 IE 或 Chrome 中的开发人员工具,我得到一个框架的 html 代码。没问题。

现在,我想使用 C# 应用程序来完成。我在 VS2010 中有 System.Windows.Form.WebBrowser。我尝试获取框架的 Html 代码。

 public static HtmlElementCollection GetElementsByTagNameForFrame(this WebBrowser wb, 
                                             string tag, string idFrame)
 {
      return wb.Document.Window.Frames[idFrame].Document.GetElementsByTagName(tag);
 }

但我收到错误 UnauthorizedAccessException。

我再次尝试使用 Webbrowser C# 从 iframe 读取 HTML 代码,但我得到了同样的错误。

string content = doc.Window.Frames["injected-iframe"].WindowFrameElement.InnerText; 

有什么建议么 ?

4

1 回答 1

0

你没有写它,但我假设 iFrame 包含来自不同域的内容。现代浏览器包含一些反 XSS 机制,比如这样,给攻击者更多的工作。

在这种情况下,最简单的方法是检查 iFrame 中显示的内容,然后使用 WebClient 手动下载其中的网页。如果是某种会员区,您可能需要复制 cookie。因此,只需获取 iframe 的 src 属性并用于WebClient.DownloadString下载此页面。

于 2012-09-30T09:56:26.750 回答