如何检查Webbrowser文件是否已完成加载?

时间:2012-08-28 13:24:35

标签: c# browser mshtml

我有一个应用程序,可以在加载页面时动态加载iframe。 当我使用Web浏览器控件自动执行该应用程序时,我收到脚本错误,因为java脚本未在iframe中完全加载。

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

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

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码,将其封装在布尔属性

            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;