watir学习系列--调用AutoItX操作windows窗口
1、安装autoit3:
默认安装就可以了,
英文版:http://www.autoitscript.com/autoit3/downloads.shtml
汉化版:http://www.autoit.net.cn/viewthread.php?tid=6&extra=page%3D1
2、autoit3介绍:
AutoIt3.exe AutoIt 主程序
Au3Info.exe 窗口对象信息获取器
Au3Check.exe AutoIt表达式检查器.
AutoIt.chm 帮助文件
Examples\Helpfile 包含了帮助文件中引用的例子.
SciTe\SciTE.exe 编辑器
3、相关函数说明:
Run
运行外部程序.
Run ( "文件名" [, "工作目录" [, 显示标志[, 可选标志]]] )
参数
文件名 | 可执行文件的完整路径(文件格式为 EXE,BAT,COM 或 PIF). |
工作目录 | [可选] 工作目录. |
显示标志 | [可选] 启动程序时的初始状态: @SW_HIDE = 隐藏窗口 @SW_MINIMIZE = 最小化窗口 @SW_MAXIMIZE = 最大化窗口 |
可选标志 | [可选] 控制不同选项处理父进程/子进程交互. 1 ($STDIN_CHILD) = 提供一个句柄到子 STDIN 流. 2 ($STDOUT_CHILD) = 提供一个句柄到子 STDOUT 流. 4 ($STDERR_CHILD) = 提供一个句柄到子 STDERR 流. 0x8 ($STDERR_MERGED) = Provides the same handle for STDOUT and STDERR. Implies both $STDOUT_CHILD and $STDERR_CHILD. 0x10 ($STDIO_INHERIT_PARENT) = Provide the child with the parent's STDIO streams. This flag can not be combined with any other STDIO flag. This flag is only useful when the parent is compiled as a Console application. 0x10000 ($RUN_CREATE_NEW_CONSOLE) = The child console process should be created with it's own window instead of using the parent's window. This flag is only useful when the parent is compiled as a Console application. |
2)WinWaitActive
暂停脚本的执行直至指定窗口被激活(成为活动状态)为止.
WinWaitActive ( "窗口标题", ["窗口文本"], [超时时间] )
参数
窗口标题 | 目标窗口标题.参考 标题特殊定义. |
窗口文本 | [可选参数] 目标窗口文本 |
超时时间 | [可选参数] 以秒为单位 |
返回值
成功: | 返回值为 1. |
失败: | 返回值为 0,说明已超时. |
3)Send
向激活窗口发送模拟键击操作.
Send ( "按键" [, 标志] )
参数
按键 | 要发送的按键序列. |
标志 | [可选参数] 更改程序处理"按键"的方式: 标志 = 0 (默认),按键序列中含有的特殊字符比如 + 和 ! 将被视为 SHIFT 和 ALT 键. 标志 = 1, 按键将按原样发送. |
返回值
None.
4)WinMenuSelectItem
调用窗口中的某个菜单项目.
WinMenuSelectItem ( "窗口标题", "窗口文本", "菜单项" [, "菜单项" [, "菜单项" [, "菜单项" [, "菜单项" [, "菜单项" [, "菜单项"]]]]]] )
参数
窗口标题 | 目标窗口标题.参考标题特殊定义. |
窗口文本 | 目标窗口文本. |
菜单项 | 主菜单项的文本. |
菜单项 | [可选参数] 子菜单项的文本. |
菜单项 | [可选参数] 子菜单项的文本. |
菜单项 | [可选参数] 子菜单项的文本. |
菜单项 | [可选参数] 子菜单项的文本. |
菜单项 | [可选参数] 子菜单项的文本. |
菜单项 | [可选参数] 子菜单项的文本. |
返回值
成功: | 返回值为1. |
失败: | 返回值为0,说明未发现目标菜单项. |
5)ControlSend
向指定的控件发送字符串.
ControlSend ( "窗口标题", "窗口文本", 控件ID, "字符串" [, 标志] )
参数
窗口标题 | 目标窗口标题. |
窗口文本 | 目标窗口文本. |
控件ID | 目标控件.请查看关于控件的说明. |
字符串 | 要发送到控件的字符串. |
标志 | [可选参数] 更改程序处理"按键"的方式: flag = 0 (默认),按键序列中含有的特殊字符比如 + 和 {LEFT} 将被视为 SHIFT 和 左箭头 键. flag = 1,按键将按原样发送. |
返回值
成功: | 返回值为1. |
失败: | 返回值为0,说明未找到目标窗口/控件. |
4、实例: