我正在使用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)
但在同一個窗口中,這會獲得較低的窗口而不是較低的選項卡。