Watin错误:值不能为空。参数名称:domContainer

时间:2013-11-05 12:56:15

标签: c# watin

我收到以下错误:

  

值不能为空。   参数名称: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)
 {
   *
   *
   *
 }

2 个答案:

答案 0 :(得分: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"));
  }
}

答案 1 :(得分:0)

你的构造函数是空的,没有给出地址。

 var firstBrowser = new WatiN.Core.IE();