使用WatiN访问每个打开的浏览器窗口

时间:2015-04-14 12:26:54

标签: .net watin

我无法看到在WatiN中循环浏览每个打开的浏览器窗口的方法,只能通过附加到第一个实例的xyz附加。

基本上我有多个具有相同网址的窗口,因此我需要获取这些窗口,然后检查每个窗口的内容,然后才能继续使用正确的窗口。

这是可能的还是WatiN只返回第一个窗口?

1 个答案:

答案 0 :(得分:2)

您可以使用例如IECollection

以下是样本:

    [STAThread]
    private static void Main(string[] args)
    {                        
        IE _ie = new IE("http://google.com");
        IE _ie2 = new IE("http://google.com");
        IE _ie3 = new IE("http://google.com");
        IE _ie4 = new IE("http://google.com");
        Debug.WriteLine(IE.InternetExplorers().Count);

        IECollection ies = new IECollection();
        foreach (var browser in ies)
        {
            Debug.WriteLine(browser.Url.ToString());
            Debug.WriteLine(browser.hWnd);
            IE browser2 = IE.AttachTo<IE>(Find.By("hwnd", browser.hWnd.ToString()));
            Thread.Sleep(1000);
            browser2.BringToFront();
        }
    }