初识AutoIt
1.定义
AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作。它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。而这是其它语言不可能做到或无可靠方法实现的(例如VBScript和SendKeys).
2.功能
(1)运行 Windows 及 DOS 下的可执行文件
(2)模拟键击动作(支持大多数的键盘布局)
(3)模拟鼠标移动和点击动作。
(4)对窗口进行移动、调整大小和其它操作。
(5)直接与窗口的“控件“交互(设置/获取 文字、移动、关闭,等等)
(6)配合剪贴板进行剪切/粘贴文本操作
(7)对注册表进行操作
3.使用AutoIt
可查询帮助文档
4.初识AutoIt
本人,测试小白,工作有一部分需要点点点,每天重复进多个远程桌面并开登录报盘程序做清库操作,这种重复性工作实属乏味,在网上搜关于自动化脚本出来的大部分是Python、Selenium,而我们的程序是基于C/S架构可能不太适用,正当我发愁时,领导亲切的问候让我第一次了解到AutoIt,下面就简单介绍下如何利用万能小工具AutoIt实现自动登录模拟鼠标点击菜单
5.打个招呼
学习一门新的编程语言写的第一个程序必然是"Hello,World!",首先新建一个脚本文件(右键-新建-AutoIt v3 Script),
选中新建的脚本再点击右键选中Edit Script
打开后可以看到如下图(;表示注释)
现在我们就可以编写第一个脚本了,可以用MsgBox函数实现,MsgBox(0, "指南", "Hello World!")
6.登录
用到的函数有:Run、Sleep、ControlSend、ControlSetText、ControlClick,Run后面跟的路径是所需登录的客户端位置,参考网上说只输入目标不一定能启动,逗号前是目标逗号后是起始位置(选中所需登录客户端右键-属性-快捷方式就可以看到),Sleep ( 延迟 )表示使脚本暂停指定时间段以毫秒为单位,ControlSend ( "窗口标题", "窗口文本", 控件ID, "字符串" [, 标志] )、ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本" )、ControlClick ( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]] )表示窗口操作控件,后面的参数可以用AutoIt Window Info来看(开始菜单-所有程序- AutoIt v3-AutoIt Window Info.),拖动Finder Tool即可看到窗口标题、窗口文本、控件ID
7.模拟鼠标点击菜单
AutoIt本身有调用窗口中的某个菜单项目的函数WinMenuSelectItem,但不幸的是只能对标准菜单有效,果断选择MouseClick ( "按钮" [, x, y [, 点击次数 [, 速度 ]]] ),执行鼠标点击操作,具体参数帮助文档中描述的很清晰
8.总结
在学习和使用AutoIt过程中,熟悉了AutoIt这个万能小语言,简化了我在日常工作中繁琐重复的操作,第一次写博客可能有许多不足的地方,如有讲解不清楚的部分望海涵,谢谢。
最新文章
- poi导出excel通用类
- iOS开发资料链接
- 在AngularJS应用中实现认证授权
- 忘记导入struts2-xxx-plugin-x.x.x.jar导致服务器启动报Unable to load configuration.Caused by: Parent package is not defined: xxx-default
- 林子雨老师团队《Architecture of a Database System》 中文版
- php正则表达式判断是否为ip格式
- linux自己带的apache重新启动
- HDU 1222(数论,最大公约数)
- MyEclipse 中文注释乱码
- Fast Paxos 和 Paxos的区别
- Java基础笔记11
- System.Windows.Forms.PropertyGrid的使用
- C++11:使用 auto/decltype/result_of使代码可读易维护
- linux搭建smb、挂载smb、Windows共享
- 三、Template 模板模式
- 半吊子的STM32 — SPI通信
- HTML: <; 和 >; 是何方神圣
- laravel Eloquent 模型(也就是我本时说的Model)
- usbip install
- 通过Nginx反向代理实现IP分流
热门文章
- NOIP2009 1.多项式输出
- PTA A1003&;A1004
- 快速获取dom到body左侧和顶部的距离,简单粗暴无bug-getBoundingClientRect
- C# 10分钟入门基于WebOffice实现在线编辑文档,实时保存到服务器(所有office,兼容WPS)
- C++类拷贝控制 深拷贝 浅拷贝
- Python连载40-协程定义及状态、send语句、yield用法
- Android Studio [Toast]
- JVM调优(一)——参数查询和问题排查
- Hadoop核心组件之MapReduce
- Idea 配置Jrebel热部署