2012-08-06 30 views
5

我正在將一些我們的Watir腳本遷移到Watir-Webdriver。除了他們如何設計Watir-Webdriver來處理彈出窗口之外,遷移已經基本完成。他們沒有使用經過驗證的真正的「附加」方法,而是用簡化的「窗口」方法取代了它。語法很簡單,但是我很難理解如何在不關閉父窗口的情況下關閉獨立的子窗口。目前我的代碼是這樣的 -Watir Webdriver如何關閉子窗口

b.button(:xpath => PREVIEWBUTTON).click 
    b.window(:title, POPUPWINDOW).use DO 
    b.close 
    end 

目前發生的事情是,b.close方法是關閉子窗口和父窗口。我不知道爲什麼會發生這種情況,因爲b.close方法包含在DO塊中。我需要驗證'PREVIEWBUTTON'確實創建了一個子窗口,但我需要父窗口保持打開狀態。

回答

9

試試這個:

b.window(:title, POPUPWINDOW).close 
+1

優秀,這個工作!我還了解到,在我的例子中,通過使用此處列出的'index'來查找子窗口更有優勢 - https://github.com/watir/watirspec/blob/master/window_switching_spec.rb。再次感謝! – Brian 2012-08-06 21:57:50

+0

有沒有其他方法可以找到子窗口,甚至可以迭代它們? – stack1 2015-06-29 23:05:23