我正在尝试将 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,但仍然无法正常工作。任何想法我做错了什么。
最佳答案
您编写的方法缺少单线程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);
}
它按预期工作。
关于watin - 将 Watin 连接到现有浏览器总是超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10993477/