在Watir中整合AutoIt处理JavaScript弹出窗口的方法

以下例子整合了AutoIt,在单独的线程中监控和处理JavaScript弹出窗口:

 

require 'watir'

#require 'win32ole'  # already included if you use 'require watir'

#

# Function to look for popups

def check_for_popups

    autoit = WIN32OLE.new('AutoItX3.Control')

    #

    # Do forever - assumes popups could occur anywhere/anytime in your application.

    loop do

        # Look for window with given title. Give up after 1 second.

        ret = autoit.WinWait('Microsoft Internet Explorer', '', 1)

        #

        # If window found, send appropriate keystroke (e.g. {enter}, {Y}, {N}).

        if (ret==1) then autoit.Send('{enter}') end

        #

        # Take a rest to avoid chewing up cycles and give another thread a go.

        # Then resume the loop.

        sleep(3)

    end

end

#

# MAIN APPLICATION CODE

# Setup popup handler

$popup = Thread.new { check_for_popups }  # start popup handler

at_exit { Thread.kill($popup) }           # kill thread on exit of main application

#

# Main application code follows

ie = Watir::IE.new

ie.goto("http://localhost:88/Test3.html")

ie.link(:text,"Click Here").click

 

 

 

你可能感兴趣的:(JavaScript,thread,function,Microsoft,application,internet)