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

Access each open browser window using WatiN

我看不到在 WatiN 中简单地遍历每个打开的浏览器 window 的方法,只能通过附加到第一个实例的 xyz 附加。

基本上,我有多个 windows 具有相同的 url,所以我需要获取这些 windows,然后检查每个的页面内容,然后才能继续使用正确的页面。

这是可能的还是 WatiN 只 return 第一个 window?

您可以使用例如 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();
        }
    }