早知道有这么个吊炸天的开源自动化神器,我就不用其它工具了!
轻松幽默段子7: 有人问我,你每天都这么开心,是不是有什么秘诀?我告诉他,其实我只是把不开心的今天,过成了明天。 #生活乐趣# #日常生活趣事# #轻松幽默的生活方式# #轻松幽默段子#
大家好,我是民工哥!
众所周知,程序员的日常工作很多都是重复性的,这样的工作内容会大大降低我们日常工作效率。所以,一款高效的自动化工具,绝对是我们日常工作的好帮手。
今天,民工哥给大家推荐一款功能强大的自动化神器:AutoIt!帮助我们自动执行各种 Windows GUI 操作,提高工作效率。
AutoIt 简介
AutoIt 是一个使用类似 BASIC 脚本语言的免费软件(自动化脚本语言和工具集),设计用于 Windows GUI(图形用户界面)中进行自动化操作。它利用模拟键盘按键、鼠标移动和窗口/控件的组合来实现自动化任务。
AutoIt 最初是为了模拟键盘和鼠标输入,以便自动执行重复性的任务,如安装软件、配置系统设置等。随着时间的推移,AutoIt 发展成为一个功能强大的脚本语言,支持各种 Windows 操作系统的自动化任务。它还具有数据抓取和处理、系统管理等功能。
AutoIt 功能介绍
AutoIt的优点
AutoIt的优点包括:
简单易学:语法类似于BASIC语言,非常容易上手,初学者也能快速掌握。功能强大:AutoIt 提供了丰富的功能和工具集,包括窗口操作、文件处理、数据类型处理、系统管理等,满足了用户各种自动化需求。脚本执行速度快:相较于其它同类工具,AutoIt的脚本执行速度非常快,从而极大的提高了自动化任务的执行效率。多系统版本支持:AutoIt可以运行在多种Windows系统上。社区支持:社区活跃,用户问题求助、经验交流都非常方便,同时还能及时获取最新的脚本和工具。免费开源:免费开源,用户可以自由使用、修改和分发AutoIt及其脚本。安全性:AutoIt脚本语言是解释执行的,相比于直接在系统上执行自动化任务,安全性更高。安装使用
安装访问官方网站:https://www.autoitscript.com/site/autoit/downloads/ 选择合适的版本下载。
直接安装即可
手册
自带的脚本工具:提取窗口信息
以下是一些常见的AutoIt脚本示例:
模拟键盘按键:
Send("Hello World") ; 发送"Hello World"到当前活动窗口
模拟鼠标点击:
Click("OK") ; 在当前窗口中点击"OK"按钮
获取窗口标题:
$title = WinGetTitle("[ACTIVE]") ; 获取当前活动窗口的标题,并存储在变量$title中 MsgBox(0, "Window Title", $title) ; 显示一个消息框,显示窗口标题
关闭窗口:
WinClose("[CLASS:Notepad]") ; 关闭所有Notepad窗口
获取文本框内容:
$text = EditGetText("[CLASS:Edit]") ; 获取当前文本框中的文本,并存储在变量$text中 MsgBox(0, "Text", $text) ; 显示一个消息框,显示文本内容 自动化安装软件的脚本示例
#include <Windows.h> #include <WinUser.au3> ; 设置安装程序文件路径 $setupExe = "C:\Path\To\Setup.exe" ; 启动安装程序 Run($setupExe) ; 等待安装程序启动 WinWaitActive("[CLASS:Installer]") ; 点击"Next"按钮 Click("Next") ; 等待许可协议界面加载完成 WinWaitActive("[TITLE:License Agreement]") ; 输入许可证密钥,并点击"Next"按钮 $licenseKey = "1234567890" Send($licenseKey) Click("Next") ; 等待安装类型界面加载完成 WinWaitActive("[TITLE:Choose Setup Type]") ; 选择安装类型,并点击"Next"按钮 Click("Complete") Click("Next") ; 等待选择目标文件夹界面加载完成 WinWaitActive("[TITLE:Destination Folder]") ; 输入目标文件夹路径,并点击"Next"按钮 $folder = "C:\Program Files\MyApp" Send($folder) Click("Next") ; 等待准备安装界面加载完成 WinWaitActive("[TITLE:Ready to Install]") ; 点击"Install"按钮,开始安装过程 Click("Install") ; 等待安装过程完成 WinWaitActive("[TITLE:Installer - Completing the MyApp Setup]") ; 点击"Finish"按钮,完成安装 Click("Finish") 抓取网页数据的脚本示例
#include <IE.au3> ; 打开网页 $ie = _IECreate("https://www.example.com", 3) ; 打开指定网址的网页,窗口句柄为3 ; 等待网页加载完成 _IENavigate($ie, "https://www.example.com") WinWaitActive("[CLASS:Internet Explorer_Server]") ; 获取网页标题 $title = _IEPropertyGet($ie, "title") MsgBox(0, "Title", $title) ; 显示网页标题的对话框 ; 获取网页源代码 $source = _IEPropertyGet($ie, "document.body.innerHTML") MsgBox(0, "Source Code", $source) ; 显示网页源代码的对话框 ; 关闭网页 _IEClose($ie) 系统管理任务的示例自动备份文件
#include <File.au3> ; 定义备份路径和文件名 $backupDir = "C:\Backup" $fileName = "My Documents.bak" ; 创建备份文件夹 DirCreate($backupDir) ; 获取当前日期时间,用于文件名 $currentDateTime = TimeGet() ; 构建备份文件路径和名称 $backupPath = $backupDir & "\" & $currentDateTime & "_" & $fileName ; 备份文件 FileCopy("C:\My Documents", $backupPath) ; 检查备份是否成功 If @error Then MsgBox(16, "Error", "Backup failed!") Else MsgBox(0, "Success", "Backup completed successfully!") EndIf
这个脚本将自动备份"C:\My Documents"文件夹到指定的备份目录,并将备份文件命名为当前日期时间。如果备份成功,将显示成功消息,否则将显示错误消息。
清理临时文件#include <File.au3> #include <MsgBox.au3> ; 定义临时文件目录和要保留的天数 $tempDir = "C:\Temp" $daysToKeep = 7 ; 获取当前日期时间,用于比较日期 $currentDateTime = TimeGet() $cutoffDateTime = DateAdd("d", -$daysToKeep, $currentDateTime) ; 循环遍历临时文件夹中的文件,检查是否需要清理 DirSet($tempDir) $fileList = FileListGet() For $i = 0 To $fileList[$iCount - 1] ; 索引从0开始,直到最后一个文件 $fileTime = FileGetAttrib($tempDir & "\" & $fileList[$i]) ; 获取文件属性,包括修改时间 If $fileTime < $cutoffDateTime Then ; 如果文件的修改时间早于保留期限,则删除文件 FileDelete($tempDir & "\" & $fileList[$i]) ; 删除文件 MsgBox(0, "Cleanup", "Deleted file: " & $fileList[$i]) ; 显示已删除的文件名 EndIf Next
这个脚本将清理指定目录(例如"C:\Temp")中早于指定天数(例如7天)的临时文件。它将遍历目录中的所有文件,检查文件的修改时间,如果文件的修改时间早于保留期限,则删除该文件。每次删除文件时,将显示一个消息框,显示已删除的文件名。
定时执行特定任务使用AutoIt的WinWait和WinActive函数可以检测窗口的激活状态,并根据条件执行特定任务。例如,以下脚本将等待特定窗口(例如"记事本")被激活,然后在其上执行双击操作:
#include <Windows.au3> #include <MsgBox.au3> ; 等待"记事本"窗口被激活并点击鼠标左键一次(双击)操作需要两个步骤来完成,所以使用两个WinWaitActive函数和两个Click函数来实现双击操作。 WinWaitActive("[CLASS:Notepad]") ; 等待"记事本"窗口被激活 Click("Notepad") ; 在"记事本"窗口上点击鼠标左键一次(第一次点击) WinWaitActive("[CLASS:Notepad]") ; 等待"记事本"窗口再次被激活(双击操作间隔) Click("Notepad") ; 在"记事本"窗口上再次点击鼠标左键一次(第二次点击)以完成双击操作。
AutoIt 使用场景介绍
AutoIt的使用场景非常广泛,以下是几个常见的使用场景:
软件自动化测试:AutoIt可以用于编写自动化测试脚本,模拟用户在软件界面上的操作,对软件进行测试和验证。系统配置和部署:通过AutoIt脚本,可以对Windows系统进行自动化配置和部署,例如自动安装软件、配置网络设置等。批量处理:AutoIt可以用于编写批量处理脚本,对大量数据进行自动化处理和分析,例如数据抓取、文件批量重命名等。自动化办公:AutoIt可以用于编写自动化脚本,实现办公任务的自动化,例如自动填写表单、数据录入等。游戏辅助工具:AutoIt可以用于编写游戏辅助脚本,例如自动瞄准、自动施法等。总结
总的来说,AutoIt 简单易学、功能强大、执行速度快、跨平台、社区支持、免费开源和安全性高等特点。这些优点使得 AutoIt 成为一款非常受欢迎的自动化工具,广泛应用于各种 Windows GUI 操作的自动化任务中。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-06,如有侵权请联系 cloudcommunity@tencent.com 删除
网址:早知道有这么个吊炸天的开源自动化神器,我就不用其它工具了! https://www.yuejiaxmz.com/news/view/318779
相关内容
这个自动化工具,我愿称它为神器!6 个开源的家庭自动化工具
这五个“买不得”的衣柜收纳神器,你都知道么?
开源自动化部署工具
6个开源的家庭自动化工具
5 个 Python 代码来自动化你的日常工作,网友:早知道就好了
这21个自动化部署工具,你都知道吗?
我的12款效率神器,好用到不想让别人知道
微软开源的浏览器自动化工具
自古差生文具多,得亏我够懒,才发现这么多爽翻天的「懒人神器」