1. 程式人生 > >C#的WebBrowser操作frame如此簡單

C#的WebBrowser操作frame如此簡單

剛學c#不久,也不太懂什麼IHTMLDocument、IHTMLDocument2、IWebBrowser2等等。自己琢磨了好久,終於知道了怎麼用WebBrowser操作frame和iframe。

1.獲取frame的原始檔

MessageBox.Show(webBrowser1.Document.Window.Frames["main"].Document.Body.InnerHtml);

2.獲取frame的HTMLDocument介面

HTMLDocument doc = (HTMLDocument)webBrowser1.Document.DomDocument;
object j;
for (int i = 0; i < doc.parentWindow.frames.length; i++)
{
      j = i;
      HTMLWindow2Class frame = doc.parentWindow.frames.item(ref j) as HTMLWindow2Class;
      if (frame.name == "main")
       {                   
             MessageBox.Show(frame.document.title);                    
       }
}     

3.獲取frame的IHTMLDocument2介面

IHTMLDocument2 doc = (IHTMLDocument2)webBrowser1.Document.Window.Frames["main"].Document.DomDocument;

4.取得frame中被點選的連線

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
     string url = webBrowser1.Document.Window.Frames["main"].Document.ActiveElement.GetAttribute("src");
}