将Watin附加到现有浏览器总是超时

时间:2012-06-12 09:04:23

标签: watin

我正在尝试将Watin附加到Internet Explorer 9的现有实例上。无论我尝试什么似乎只是暂停,麻烦。我正在使用的代码是:

Settings.AttachToBrowserTimeOut = 240;
Settings.WaitUntilExistsTimeOut = 240;
Settings.WaitForCompleteTimeOut = 240;   

Browser.AttachTo<IE>(Find.ByTitle("Google"), 240);

此代码是Watin guide here中的代码减去我尝试过的超时调整。我也试过设置代码运行x86而不是任何cpu但仍然无法正常工作。任何想法我做错了。

1 个答案:

答案 0 :(得分:2)

您编写的方法缺少单线程ApartmentState。解决此问题的最简单方法是在您尝试使用该代码的方法上方添加[STAThread]

例如:

//[STAThread]
static void Main(string[] args)
{
    IE.AttachTo<IE>(Find.ByTitle("Google"), 5);
}

就像你描述的那样。取消注释[STAThread]

[STAThread]
static void Main(string[] args)
{
    IE.AttachTo<IE>(Find.ByTitle("Google"), 5);
}

它有意为之。