关于如何关闭watir弹出的问题

时间:2013-02-06 12:10:19

标签: ruby watir

单击按钮后,将打开一个新的Windows警报。我试着使用这段代码:

 browser.button(:name => 'OpProvisionalCreate').click     

 browser.execute_script("window.confirm = function() {return true}")  

 browser.window(:title => "Message from webpage").use do
   browser.button(:id => "close").click
 end

但我收到一条错误消息:

:in `<top (required)>': undefined method `window' for #<Watir::IE:0x1a76990> (NoMethodError)

1 个答案:

答案 0 :(得分:2)

您可能正在使用旧版本的watir-classic。在watir-classic 3.0.0中添加了Browser#window方法。但是关闭JavaScript弹出窗口应该在Alert API的帮助下完成:

# this will open the popup? Use #click_no_wait in that case.
browser.button(:name => 'OpProvisionalCreate').click_no_wait
# close the popup
browser.alert.close

ContainerAlert documentation了解详情。如果您想使用上面提到的Alert API,那么您需要使用watir-classic 3.1.0或更新版本。