AppleScript 介绍

点击蓝字关注我们

本文转载自花椒技术

1

什么是AppleScript

AppleScript是苹果公司推出的一种脚本语言,内置MacOS中,可以直接操作控制MacOS 以及它的应用程序,是一个实现MacOS自动化的一个极其有力的工具,AppleScript的前身是 HyperCard所使用的脚本语言 HyperTalk。

2

AppleScript的特点

与其他的脚本语言Python 和JavaScript相比,AppleScript 最显著的特点就是可以控制其他macOS上的应用程序,我们可以通过使用AppleScript 来完成一些繁琐重复的工作,AppleScript语法简单,接近自然语言,就像在和系统对话一样。另外系统也提供了语法查询字典,可以很方便的查询语法。

3

AppleScript编辑器

MacOS 上有自带的脚本编辑器,支持 AppleScript ,其中有模版工程、模版代码、应用词典等功能,非常方便脚本的编写。

4

AppleScript基础语法

按照惯例,用AppleScript写一个Hello worlddisplay dialog “Hello, world!”

然后运行,就可以看到系统弹出了一个hello world的弹窗。

下面会介绍几种常用的语法

  • 告诉XX做XX 就像上边说的那样,AppleScript 的语法非常接近自然语言,如果你想让一个应用做一些任务,就可以直接告诉他就可以。语法类似于

tell 应用
	做xx
end tell

eg:启动Safari 然后打开花椒

tell application “Safari”
	activate
	open location “https://www.huajiao.com/“
end tell

上面的代码告诉了Safari启动,然后打开花椒。这个很接近于英语的表达方式。

  • 设置变量

set <变量名> to <值>

把花椒直播的网址设置为变量huajiao

set huajiao to “https://www.huajiao.com/“
tell application “Safari”
	activate
	open location huajiao
end tell

把地址设置为huajiao变量,然后打开

  • 条件语句

if 条件 then
	…
else if 条件 then
	…
else
	…
end if

eg:

set huajiao to “https://www.huajiao.com/“
set baidu to “http://www.baidu.com”
set num to 1

tell application “Safari”
	activate
	if num > 2 then
		open location huajiao
	else
		open location baidu
	end if
end tell
  • 循环语句

repeat
	…
	exit repeat
end repeat

repeat while
    …
end repeat

repeat with
    …
end repeat

eg:

repeat with num in [1, 2, 3]
	display dialog “hello,word”
end repeat
  • 模拟点击输入事件 系统会默认把所有支持AppleScript的应用的各种按钮命名编号,类似于 button 1 、 window 1 可以通过这些名字直接定位到应用的各种按钮。找到你想要点击的按钮以后,就可以做一些点击输入等操作

首先如何快速拿到各个应用的按钮命名编号 1)可以通过 entire contents来打印区域内所有的UI元素来查找元素,也最精确,例如打印qq页面元素

可以直接通过脚本编辑器内置的字典来查看已经安装的所有支持AppleScript的应用,列出来所有支持 AppleScript 的 App,以及各个 App 所支持的接口调用。

介绍一个第三方的软件(UI Browser)。可以通过 直接看到各个软件按钮的名字,这样就可以方便的找到想点击的按钮。Target 选择你要操作的程序,选中对应控件后,勾选Hightlight 对应控件会高亮显示。例如找到QQ的登陆页面关闭按钮:window 1下的checkbox 2

找到这个元素后 1)click命令来点击按钮,keystroke输入

click checkbox 2 of window “Window”

2)使用输入keystroke 输入一段内容

keystroke “abc”

或者key code 实现单个按键输入(Complete list of AppleScript key codes) 3)set value of text field 1 of … to “abc”

5

AppleScript 应用举例

启动登陆QQ

set username to “123456789”
set qqpassword to “zhoujielun”
#启动QQ
tell application “QQ”
	activate
end tell
delay 1
#输入账号密码
tell application “System Events”
	set value of text field 1 of window “Window” of application process “QQ” to username
	delay 2
	set value of text field 2 of window “Window” of application process “QQ” to qqpassword
	delay 1
	click checkbox 3 of window “Window” of application process “QQ”
end tell

自动发送一个邮件

6

AppleScript 小结

Apple Script 是一个macOS上非常简单的UI自动化控制脚本语言,无需代码基础即可做一些自动化控制,一些系统自带app和第三方app都暴露了很多供脚本调用接口,完全可以将不同的应用串接起来完成一些流畅的自动化操作。

AppleScript详细语法参考苹果官方文档Introduction to AppleScript Language Guide(https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html#//apple_ref/doc/uid/TP40000983-CH208-SW1)

往期精彩回顾

PHP 8.0 源码编译安装 & JIT 尝鲜

实习招聘|360云平台火热招聘中

360Stack裸金属服务器部署实践

360技术公众号

技术干货|一手资讯|精彩活动

扫码关注我们

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AppleScript 简明基础教程 iDoraemon Nathan 编著 目录 第一章 AppleScript入门! 第一节 什么是AppleScript! 第二节 AppleScript的工作机制! 第三节 AppleScript的用途和它带来的好处! 第四节 和AppleScript有关的程序和设置! 第五节 Automator和AppleScript! 第二章 快速上手AppleScript编辑器! 第一节 挖掘实用的功能! 第二节 脚本的存储格式! 第三节 支持AppleScript的应用程序! 第四节 AppleScript的录制功能! 应用实例1:建立100个子文件夹! 第三章 AppleScrip语言初步! 第一节 对象、属性和命令! 第二节 标识符和关键字! 第三节 数据类型! 第四节 强制数据类型转换! 第五节 运算符! 第六节 提取对象中的元素! 第七节 添加注释和括号! 第八节 代码缩写! 第四章 读懂AppleScript字典! 第一节 打开特定应用程序的AppleScript字典! 第二节 读懂AppleScript字典! 第五章 变量和属性! ! Nathan编著 3  第一节 变量的概念! 第二节 全局变量和局部变量! 第三节 数据共享机制! 第四节 属性! 第五节 预定义变量! 第六章 流程控制语句! 第一节 Tell语句! 第二节 条件语句If! 第三节 循环语句! 第四节 Considering/Ignoring语句(用于文本比较)! 第七章 基本用户交互! 第一节 简单对话框和输入框! 第二节 警告对话框! 第三节 列表选择对话框! 第四节 文件选择对话框! 第五节 其他用户交互! 第八章 错误处理! 第一节 基本的Try语句! 第二节 带有错误处理的Try语句! 第三节 AppleScript中的错误(Error)! 第四节 超时(Timeout)! 第九章 文件操作! 第一节 Alias类型! 第二节 相对路径和POSIX路径! 第三节 文件读取! 第四节 文件写入! Nathan编著 4 第十章 事件处理器! 第一节 基本的事件处理器! 第二节 带参数的事件处理器! 第三节 返回值! 第四节 run和open事件处理器! 第五节 保持打开的脚本应用程序! 第六节 文件夹操作! 第十一章 脚本对象! 第一节 me关键字! 第二节 编写和使用基本的script对象! 第三节 载入和调用外部script对象! 第四节 修改外部script对象中的属性变量! 附录一:AppleScript保留关键字! 附录二:预定义的错误代码和错误信息! AppleScript错误:! Mac OS系统错误! 后记!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值