0

所以基本上我试图找到所有隐藏的 IE 窗口,这对 LINQ 来说应该是一件容易的事。所以我尝试了一个简单的地方:

var Instances = IE.InternetExplorers().Where(x => x.Visible == false);

但是当我调用它时,InternetExplorers()它会使所有实例都可见并且没有结果。所以我尝试了一个不同的地方:

var Instances = IE.InternetExplorers().Where(x => x.Title != "");

这也使所有实例可见,但显然获得了所有打开的 IE 窗口。

那么有没有办法选择所有不可见的实例而不使它们可见,或者我做错了什么?

4

1 回答 1

0

我找到了答案,我查看了 watin源代码,发现该InternetExplorers()方法刚刚返回new IECollection(true);,所以我查看了IECollection 构造函数,发现它WatiN.Core.Native.InternetExplorer.ShellWindows2()返回了所有浏览器。

所以最后我这样做了:

var allBrowsers = new WatiN.Core.Native.InternetExplorer.ShellWindows2().Where(x => x.Visible == false);

foreach (SHDocVw.IWebBrowser2 internetExplorer in allBrowsers)
{
    //do somthing.
}
于 2013-08-22T08:15:26.017 回答