我收到以下错误:
值不能为空。 参数名称: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)
{
*
*
*
}
答案 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();