2012-08-28 71 views
1

我有一个应用程序,加载页面时动态加载iframe。 当我通过Web浏览器控制自动执行该应用程序时,我得到脚本错误,因为java脚本没有完全加载到iframe中。如何检查Webbrowser文件是否完成加载?

我检查DocumentCompleted事件,仍然没有运气浏览器的就绪状态...

if (this.browser.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete) 
      return; 
     else 
     { 
// do automation 
    } 
+0

做它正确地检查了我在一些我以前的答案中提供的一些提示,不幸的是,可用的在线方法不够可靠,但如果你实现了我在标签webbrowser-control下提供的想法,你将得到一个更好的想法如何可靠地做到这一点。 –

回答

0

您可以使用此代码的尝试,在布尔属性encapsulte这

  if (this.WebBrowser.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete) 
       return false; 

      if (this.HtmlDomDocument == null) 
       return false; 

      foreach (IHTMLDOMNode node in this.HtmlDomDocument.all) 
      { 
       IHTMLFrameBase2 frame = node as IHTMLFrameBase2; 
       if (frame != null) 
       { 
        if (!frame.readyState.Equals("complete", StringComparison.OrdinalIgnoreCase)) 
         return false; 
       } 
      } 

      return true; 
相关问题