1

ページが読み込まれるときにiframeを動的に読み込むアプリケーションがあります。Webブラウザコントロールを使用してそのアプリケーションの自動化を行うと、Javaスクリプトがiframeに完全にロードされていないため、スクリプトエラーが発生します。

DocumentCompletedイベントでブラウザの準備完了状態を確認していますが、まだ運がありません...

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

1 に答える 1

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;
于 2012-08-28T13:29:13.417 に答える