有很多关于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不支持标签)
答案 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个窗口。