2

我正在尝试将 Watin 附加到 Internet Explorer 9 的现有实例。问题是无论我尝试什么,它似乎只是超时。我正在使用的代码是:

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

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

这段代码是这里的 Watin 指南中的内容,减去了我尝试过的超时调整。我还尝试将代码设置为运行 x86 而不是任何 cpu 但仍然无法正常工作。任何想法我做错了什么。

4

1 回答 1

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);
}

它按预期工作。

于 2012-06-12T12:45:26.693 回答