From: asif.kazi@... Date: 2006-01-25T06:13:12+09:00 Subject: IE Automation/Recorder - Watir/Wet Hi, I am trying to write a Record and Playback utility for Watir and WET, using Ruby and the OLE provision it provides. My detailed knowledge about IE and DOM is limited though, I am using the the code below to capture HTML events by extending the sample code at the end of this email. ev = WIN32OLE_EVENT.new(ie, 'HTMLElementEvents2') ev.on_event {|*args| html_event_handler(*args)} I am able to detect clicks on components , focus in /out etc. however I am unable to successfully, detect "onchange". I am particularly interested in capturing this change so that i can determine when the user entered data in fields, comboboxes, text areas etc. Any takers ? Thanks and Regards, Asif Sample code you will find relevant $urls = [] def navigate(url) $urls << url end def stop_msg_loop puts "IE has exited..." throw :done end def default_handler(event, *args) case event when "BeforeNavigate" puts "Now Navigating to #{args[0]}..." end end ie = WIN32OLE.new('InternetExplorer.Application') ie.visible = TRUE ie.gohome ev = WIN32OLE_EVENT.new(ie, 'DWebBrowserEvents') ev.on_event {|*args| default_handler(*args)} ev.on_event("NavigateComplete") {|url| navigate(url)} ev.on_event("Quit") {|*args| stop_msg_loop} catch(:done) { loop { WIN32OLE_EVENT.message_loop } } puts "You Navigated to the following URLs: " $urls.each_with_index do |url, i| puts "(#{i+1}) #{url}" end