macOS 自带的AppleScript(很方便的自动化工具)

我早上起床后一般都是先打开mbp,启动这个脚本之后我就去做别的事了。等我回来的时候,校园网已经登录完毕!😄

我的AppleScript主要实现了在mbp上打开锐捷app,并且在用户验证框自动输入我的用户密码,然后自动强制退出锐捷。

(至于为什么这么做呢?用校园网的痛苦,一言难尽啊!)




好了,进入正文部分吧!

先看下这段比较重要的AppleScript语句:

--关键语句示例 by FicowShen


tell application "System Events"

key code 53 using {command down, option down}

end tell


(*

 -- 这个符号是注释符号,(**) 这个也是注释符号,类似于C语言里面的//和/**/

key code 53的意思就是告诉系统按下Esc键,详细的key code列表请见后续内容

using { } 花括号部分按下的按键和前面的按键事件一起作用

down, option down的含义是按下command和option

所以这个脚本的作用就是通过组合键启动强制退出窗口(command+option+Esc)

简单吧?😄

*)


(*

AppleScript key code list(后面会用到这个清单!):

0 0x00 ANSI_A

1 0x01 ANSI_S

2 0x02 ANSI_D

3 0x03 ANSI_F

4 0x04 ANSI_H

5 0x05 ANSI_G

6 0x06 ANSI_Z

7 0x07 ANSI_X

8 0x08 ANSI_C

9 0x09 ANSI_V

10 0x0A ISO_Section

11 0x0B ANSI_B

12 0x0C ANSI_Q

13 0x0D ANSI_W

14 0x0E ANSI_E

15 0x0F ANSI_R

16 0x10 ANSI_Y

17 0x11 ANSI_T

18 0x12 ANSI_1

19 0x13 ANSI_2

20 0x14 ANSI_3

21 0x15 ANSI_4

22 0x16 ANSI_6

23 0x17 ANSI_5

24 0x18 ANSI_Equal

25 0x19 ANSI_9

26 0x1A ANSI_7

27 0x1B ANSI_Minus

28 0x1C ANSI_8

29 0x1D ANSI_0

30 0x1E ANSI_RightBracket

31 0x1F ANSI_O

32 0x20 ANSI_U

33 0x21 ANSI_LeftBracket

34 0x22 ANSI_I

35 0x23 ANSI_P

36 0x24 Return

37 0x25 ANSI_L

38 0x26 ANSI_J

39 0x27 ANSI_Quote

40 0x28 ANSI_K

41 0x29 ANSI_Semicolon

42 0x2A ANSI_Backslash

43 0x2B ANSI_Comma

44 0x2C ANSI_Slash

45 0x2D ANSI_N

46 0x2E ANSI_M

47 0x2F ANSI_Period

48 0x30 Tab

49 0x31 Space

50 0x32 ANSI_Grave

51 0x33 Delete

53 0x35 Escape

55 0x37 Command

56 0x38 Shift

57 0x39 CapsLock

58 0x3A Option

59 0x3B Control

60 0x3C RightShift

61 0x3D RightOption

62 0x3E RightControl

63 0x3F Function

64 0x40 F17

65 0x41 ANSI_KeypadDecimal

67 0x43 ANSI_KeypadMultiply

69 0x45 ANSI_KeypadPlus

71 0x47 ANSI_KeypadClear

72 0x48 VolumeUp

73 0x49 VolumeDown

74 0x4A Mute

75 0x4B ANSI_KeypadDivide

76 0x4C ANSI_KeypadEnter

78 0x4E ANSI_KeypadMinus

79 0x4F F18

80 0x50 F19

81 0x51 ANSI_KeypadEquals

82 0x52 ANSI_Keypad0

83 0x53 ANSI_Keypad1

84 0x54 ANSI_Keypad2

85 0x55 ANSI_Keypad3

86 0x56 ANSI_Keypad4

87 0x57 ANSI_Keypad5

88 0x58 ANSI_Keypad6

89 0x59 ANSI_Keypad7

90 0x5A F20

91 0x5B ANSI_Keypad8

92 0x5C ANSI_Keypad9

93 0x5D JIS_Yen

94 0x5E JIS_Underscore

95 0x5F JIS_KeypadComma

96 0x60 F5

97 0x61 F6

98 0x62 F7

99 0x63 F3

100 0x64 F8

101 0x65 F9

102 0x66 JIS_Eisu

103 0x67 F11

104 0x68 JIS_Kana

105 0x69 F13

106 0x6A F16

107 0x6B F14

109 0x6D F10

111 0x6F F12

113 0x71 F15

114 0x72 Help

115 0x73 Home

116 0x74 PageUp

117 0x75 ForwardDelete

118 0x76 F4

119 0x77 End

120 0x78 F2

121 0x79 PageDown

122 0x7A F1

123 0x7B LeftArrow

124 0x7C RightArrow

125 0x7D DownArrow

126 0x7E UpArrow

*)




这里附上我自己制作的Automator工作流程:

首先在Automator,添加工作流程(多次试验之后,我觉得还是工作流程好用一点)。

打开Automator,新建-工作流程,如图:




然后,添加启动锐捷的功能(双击开启应用程序,右边就会出现可以配置的功能块):




启动锐捷后需要输入自己的用户密码,所以紧接着就插入完成按键按下的脚本,完成密码的自动输入:



your script goes here,好的,就在这下面开始写输入密码的脚本吧:

on run {input, parameters}

(* Your script goes here *)

delay 1 --延时1S后执行后面的内容

tell application "System Events"

key code 1 --这里做示范,只输入了小写的s,code编码请参照前面的key code list

key code 76 --输入了回车,以确认密码输入

end tell

delay 10 --延时10S,等待锐捷启动并自动登录完毕

return input

end run



添加完毕后,你可以点击运行检验一下当前编写的脚本的运行效果是否符合你的要求,

在运行之前先检查一下语法有没有错误,以防止运行发生意外。


按图中标注的顺序点击按钮即可:




接下来,添加下一个脚本,输入终结锐捷的脚本代码:

on run {input, parameters}

(* Your script goes here *)

beep --让Mac发出声音

tell application "System Events"

key code 53 using {command down, option down} --按下打开强制退出框的组合键

delay 1

key code 76 --确定选择

delay 1

key code 76 --确定退出锐捷

end tell --tell和end tell需要配对使用

return input

end run



最后,把这个工作流程保存起来。需要用的时候,双击打开工作流程,然后点击Automator里的运行即可。






Automator功能很棒的,有些人甚至它用来完成图片的批量格式转换等更实用的功能!

可参考资料:

http://www.guokr.com/blog/792617/

http://apple.stackexchange.com/questions/36943/how-do-i-automate-a-key-press-in-applescript


原创文章,转载请注明出处,谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容