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というエラーが発生します。

このRead HTML code from iframe using Webbrowser C#のように再試行しますが、同じエラーが発生します。

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

助言がありますか ?

4

1 に答える 1

0

あなたが書いたわけではありませんが、iFrame には別のドメインのコンテンツが含まれていると思います。最新のブラウザーには、このような XSS 対策メカニズムが組み込まれており、攻撃者がより多くの作業を行えるようになっています。

その場合、最も簡単な方法は、iFrame 内に何が表示されているかを確認し、WebClient を使用してその中にある Web ページを手動でダウンロードすることです。ある種のメンバー エリアの場合は、Cookie をコピーする必要がある場合があります。そのため、iframe の src 属性を取得し、WebClient.DownloadStringこのページをダウンロードするために使用します。

于 2012-09-30T09:56:26.750 に答える