0

次のエラーが表示されます。

値を null にすることはできません。パラメータ名:domContainer

私のプログラムのこの特定の行で:

if (firstBrowser.Buttons.Count > 0)

firstBrowser は IE オブジェクトです。
奇妙なことに、いくつかのスレッドを作成し、各スレッドで IE オブジェクトを開いて同様の URL をロードしていますが、このエラーはそれらから 1 つまたは 2 つしか発生していません。
編集:
これは、エラーが発生した行の前のコードです:

var firstBrowser = new IE()
firstBrowser.GoTo(slot_url);
firstBrowser.BringToFront();
Console.WriteLine("browser #" + thread_index + " was loaded");


解決策:
エラー行の前に domContainer の値を確認しました。値が null の場合は、ページを再度読み込みました。

if (firstBrowser.DomContainer == null)
      firstBrowser.GoTo(slot_url);
if (firstBrowser.Buttons.Count > 0)
 {
   *
   *
   *
 }
4

2 に答える 2

0

このように使用しない理由:

public void SearchForWatiNOnGoogle()
{
  using (var browser = new IE("http://www.google.com"))
  {
    browser.TextField(Find.ByName("q")).TypeText("WatiN");
    browser.Button(Find.ByName("btnG")).Click();

    Assert.IsTrue(browser.ContainsText("WatiN"));
  }
}
于 2013-11-05T13:05:05.593 に答える
0

コンストラクターが空で、アドレスが指定されていません。

 var firstBrowser = new WatiN.Core.IE();
于 2013-11-05T13:31:24.553 に答える