0

同じ問題に関して 2 つの質問があります... Q1 ) Web サイトの自動化に WatiN(3.5) を使用しています。結果ページが完全にロードされたときにdivタグを取得したいのですが、WatiN はそのページが完全にロードされるのを待たず、その div を取得しようとします。その結果、null で div が取得されます。この div は AJAX によって入力されます。これは、そのエラーを回避するために使用しているコードですが、機能しません。

  while (resultDiv == null)
            {
                browser.Div("ui-tabs-1").WaitUntilExists();
                resultDiv = browser.Div("ui-tabs-1"); 
            }

では、WatiN を使用してページが完全に読み込まれるのを待つにはどうすればよいでしょうか?

Q2 )ここで上記の問題の解決策を見つけましたが、これらのインターフェイス( IElementIBrowser ) のライブラリの参照が見つからなかったため、行き詰まりました。これらのインターフェイスは、拡張メソッドで使用されます。その記事の著者にも尋ねて、彼の返事を待っています。VS 2010 で WatiN 2.5 と .Net Framework 3.5 を使用して、このアプリケーションを作成しています。

4

2 に答える 2

3

Ajax を使用しているサイトで、watin で同様の問題に遭遇しました。これは、これに対する回避策です。

// Ajax 以外の Web サイトで結果が読み込まれるリンク/タブ/ボタンをクリックした後。ここに関数browser.WaitForComplete()がありますが、ページがロード状態にある場合にのみ機能します。ただし、Ajax の場合、ブラウザ ウィンドウの一部が更新されます。そのため、ブラウザの読み込み状態はありません。

したがって、この問題の解決策の 1 つは Use Thread.Sleep(10000);This time であり、Web サイトが必要な div をロードするのにかかる通常の時間によって異なります。

于 2013-08-30T03:57:28.353 に答える