方法一:
require 'watir\contrib\enabled_popup'
def startClicker( button , waitTime= 9, user_input=nil )
hwnd = $ie.enabled_popup(waitTime)
if (hwnd)
w = WinClicker.new
#需要在弹出框输入文字的话使用这个
if ( user_input )
w.setTextValueForFileNameField( hwnd, "#{user_input}" )
end
sleep 3
w.clickWindowsButton_hwnd( hwnd, "#{button}" )
w=nil
end
end
$ie = Watir::IE.start( url)
#如果直接访问url就弹出dialog,这样写
startClicker( "是", 7 )
#如果点击控件后出现dialog,这样写
$ie.buttons[1].click_no_wait
startClicker( "确定", 7 )
方法二:
#这个方法是直接阻止弹窗口出现,发送js结果到浏览器就可以了
$ie.execute_script("window.alert = function() {}")
$ie.execute_script("window.prompt = function() {return 'my name'}")
$ie.execute_script("window.confirm = function() {return true}")
方法三:
# watir 1.9版本的方法
$ie.button(:name,'submit2').click_no_wait
$ie.javascript_dialog.button('OK').click