首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

Watir点击IE的提示条

2012-07-02 
Watir点击IE的提示条。用Watir点击类似于上图的提示条。首先引用前面一片文章提到过的模拟鼠标操作的一个模

Watir点击IE的提示条。

用Watir点击类似于上图的提示条。

首先引用前面一片文章提到过的模拟鼠标操作的一个模块。

module WindowsInput  # Windows API functions  SetCursorPos = Win32API.new('user32','SetCursorPos', 'II', 'I')  SendInput = Win32API.new('user32','SendInput', 'IPI', 'I')  # Windows API constants  INPUT_MOUSE = 0  MOUSEEVENTF_LEFTDOWN = 0x0002  MOUSEEVENTF_LEFTUP = 0x0004  MOUSEEVENTF_RIGHTDOWN = 0x0008  MOUSEEVENTF_RIGHTUP = 0x0010  module_function  def send_input(inputs)    n = inputs.size    ptr = inputs.collect {|i| i.to_s}.join # flatten arrays into single string    SendInput.call(n, ptr, inputs[0].size)  end  def create_mouse_input(mouse_flag)    mi = Array.new(7, 0)    mi[0] = INPUT_MOUSE    mi[4] = mouse_flag    mi.pack('LLLLLLL') # Pack array into a binary sequence usable to SendInput  end  def move_mouse(x, y)    SetCursorPos.call(x, y)  end  def right_click    rightdown = create_mouse_input(MOUSEEVENTF_RIGHTDOWN)    rightup = create_mouse_input(MOUSEEVENTF_RIGHTUP)    send_input( [rightdown, rightup] )  end  def left_click    leftdown = create_mouse_input(MOUSEEVENTF_LEFTDOWN)    leftup = create_mouse_input(MOUSEEVENTF_LEFTUP)    send_input( [leftdown, leftup] )  endend 


然后通过DOM得到坐标,直接点击……
require 'watir'require 'Win32API'require 'WindowsInput'ie = Watir::IE.attach(:title, "test page")ie.bring_to_frontx = ie.document.parentWindow.screenLeft.to_i + 10y = ie.document.parentWindow.screenTop.to_i - 10WindowsInput.move_mouse(x, y)WindowsInput.left_click


剩下的事情就根据具体请过具体解决了……

热点排行