问题:
1、webBrowser1.Navigate("http://www.test.com")加载的页面中有多个frame如何读取他们的名称
2、当webBrowser1.Navigate之后,对页面进行了些操作,URL发生了变化,如何读取新的URL页面的HTML代码。(一定是要再重新Navigate一次才能读到新页面中的HTML代码吗?)

解决方案 »

  1.   

    2  IOleCommandTarget cmdt;
                Object o = new object();
                try
                {
                    cmdt = (IOleCommandTarget)GetDocument();
                    cmdt.Exec(ref cmdGuid, (uint)MiscCommandTarget.ViewSource,
                        (uint)SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, ref o, ref o);
                }
                catch (Exception e)
                {
                    System.Windows.Forms.MessageBox.Show(e.Message);
                }
    这个代码可以显示源文件内容
      

  2.   

    private mshtml.HTMLDocument GetDocument()
            {
                try
                {
                    AxSHDocVw.AxWebBrowser brow = GetCurrentBrowser();
                    mshtml.HTMLDocument htm = (mshtml.HTMLDocument)brow.Document;
                    return htm;
                }
                catch
                {
                    throw (new Exception("无法从网页浏览控件获取文档!")); ;
                }
            }
      

  3.   

    我用的是 vs 2005 中的webBrowser
      

  4.   

    你可以运行调试,看一下
    private void webBrowserMain_NewWindow_1(object sender, CancelEventArgs e)
    {
     String temp =((WebBrowser)sender).Document.ActiveElement.Parent.OuterHtml.ToString();
    }
    你可以看看temp的值,这是点击打开新窗口的一个事件