在watir中生成一个新窗口(有意),可以添加到浏览器#windows数组中

时间:2014-01-29 19:31:06

标签: watir watir-webdriver

有很多关于stackoverflow的问题已经解决了如何处理新的Watir窗口一旦它已经存在,即大多数例子中的弹出窗口。

这些问题的答案是关于browser.windows[n].use命令,等等。

但是我试图故意生成第二个窗口,可以将其添加到windows命令中的窗口堆栈中。

到目前为止我已尝试过这个......

b = Watir::Browser.new
bb = Watir::Browser.new
b.windows << bb.window

......但这些变化并没有持续下去。

b.windows.count
#=> 1

有没有办法在不创建新的Watir :: Browser对象的情况下生成第二个浏览器窗口? (我已经知道Watir for Firefox不支持标签)

1 个答案:

答案 0 :(得分:3)

我过去看过的一个解决方案是使用javascript打开一个新窗口:

# Open the first browser window as normal
b = Watir::Browser.new
b.windows.count
#=> 1

# Execute javascript to open a second window    
b.execute_script('window.open();')
b.windows.count
#=> 2

请注意,只有一个Watir浏览器对象,但它知道2个窗口。

相关问题