require 'watir'
require 'win32ole'
def check_for_popups(title="Microsoft Internet Explorer", button="OK")
popup=Thread.new{
autoit=WIN32OLE.new('AutoItX3.Control')
ret=autoit.WinWait(title,"",60)
if(ret==1)
puts"There is popup."
autoit.WinActivate(title)
button.downcase!
ifbutton.eql?("ok") || button.eql?("yes") || button.eql?("continue")
autoit.Send("{Enter}")
else
autoit.Send("{tab}")
autoit.Send("{Enter}")
end
elsif (ret==0)
puts"No popup, please check your code."
end
}
at_exit {Thread.kill(popup) }
end
$ie.link(:text,//).click_no_wait
check_for_popups("MicrosoftInternet Explorer","OK")
这个方法针对 Popup是 OK/cancel之类的弹出框比较有效。
相关文章: