Я использую Watin 2.1, чтобы попытаться проверить загрузку файлов и открыть файлы для веб-сайта. Это хорошо работало в Internet Explorer 8, но с Internet Explorer 9 в нижней части окна есть желто-белая панель загрузки вместо всплывающего диалогового окна.Получить определенную вкладку в MSIE 9
Я нашел этот ответ: https://stackoverflow.com/a/8532222/246622, который решает эту проблему, если вкладка браузера, которая меня интересует, находится сверху. Если есть другие вкладки, которые находятся сверху, он не может найти панель загрузки. Проблема заключается в том, что эти тесты откроют другие вкладки в верхней части вкладки с панелью загрузки до начала загрузки.
Итак, как мне получить доступ к правильной вкладке или как переключить верхнюю/видимую вкладку в Internet Explorer или как я могу открыть эти другие страницы в других окнах, а не в вкладках в том же окне , или как закрыть те другие вкладки из моего тестового приложения?
Вот соответствующий фрагмент кода:
Window windowMain = new Window(WatiN.Core.Native.Windows.NativeMethods.GetWindow(browser.hWnd, 5/*GW_CHILD*/)); // This gets the topmost browser tab.
System.Windows.Automation.TreeWalker trw = new System.Windows.Automation.TreeWalker(System.Windows.Automation.Condition.TrueCondition);
mainWindow = trw.GetParent(System.Windows.Automation.AutomationElement.FromHandle(browser.hWnd));
windowDialog = new Window(WatiN.Core.Native.Windows.NativeMethods.GetWindow(windowMain.Hwnd, 5));
Я попытался это:
var lowerWindow = new Window(WatiN.Core.Native.Windows.NativeMethods.GetWindow(aBrowserTab.Hwnd, 2/*GW_HWNDNEXT*/)); // This gets a next lower window.
Я тогда планировал идентифицирующий вкладку правильно, используя регулярное выражение с названием:
titleRegex.IsMatch(windowMain.ToplevelWindow.Title)
, но вместо этого нижнее окно появляется в нижнем окне в том же окне.