2012-08-06 52 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