watir处理弹出框(非autoit版)

2012-11-21  刘俊 

方法一:
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
462°/4621 人阅读/0 条评论 发表评论

登录 后发表评论