2013-08-22 3 views
0

기본적으로 모든 숨겨진 IE 창을 찾으려고하는데 LINQ의 쉬운 작업입니다. 그래서 나는 간단한을 시도 여기서Watin IE는 LINQ를 사용할 때 표시됩니다.

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

하지만 난이 InternetExplorers()를 호출 할 때 그것은 모든 인스턴스를 볼 수없고 결과를 얻을 수 없습니다.

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

이것은 또한 모든 인스턴스를 볼 수 있지만, 분명히 열려있는 모든 IE 창을 가져옵니다 그래서 내가 어디 다른 것을 시도했다.

보이지 않게 표시되지 않는 모든 인스턴스를 선택하는 방법이 있습니까? 아니면 뭔가 잘못하고 있습니까? 내가 대답을 발견

+0

전화를()'볼에 모든 인스턴스를 설정해야합니다. –

+0

예, 그렇습니다. 따라서 모든 인스턴스를 가져 오는 다른 방법이 있습니다. –

답변

0

, 나는 watin source에보고하고 InternetExplorers() 방법은 단지 new IECollection(true); 그래서 내가 IECollectionconstructor 쳐다 보면서 그 WatiN.Core.Native.InternetExplorer.ShellWindows2() 반환 모든 브라우저를 발견 반환 것을 발견했다.

그래서 결국 내가이 짓 : InternetExplorers`에

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

foreach (SHDocVw.IWebBrowser2 internetExplorer in allBrowsers) 
{ 
    //do somthing. 
}