AppleScriptでメニューを選択する方法

Airmacを使ってオーディオ装置に接続している。だが、ルーターとの相性が悪いせいなのか数日すると行方不明になってしまう。この場合再起動する必要があるのだが、これがなかなか面倒くさい。そこで、AppleScriptを組もうと思ったのだが、これがなかなか面倒だった。

特に単にメニューをクリックするというのが面倒である。どうやら、アプリを立ち上げた上でSysytem Eventsというアプリ(自動で操作する)に処理を渡してやる必要がある。さらに画面を一番前に出さなければならない。こうした前提条件が一つでもずれると、謎のエラーを出して止まってしまうのである。

数字でメニューを指定するとよいのだが、これも横棒をアイテムの一つと数えるので、これもなかなか面倒だ。

最終的には自分で解決できず、ディスカッションボードで教えてもらった。

— Airmacを再起動するスクリプト
— Airmacが複数ある場合にはIPアドレスを指定した上で接続してから行う

tell application “System Events”
tell application “AirPort Utility” to activate
delay 2

–なぜかアプリではなくメニューバーに伝える。
tell menu bar 1
keystroke “O” using {command down, shift down}
keystroke “[ipaddress]”
keystroke tab
keystroke “[password]”
keystroke return
delay 2
keystroke return
delay 6
end tell
end tell

tell application “System Events”
tell application process “AirPort Utility”
set frontmost to true
click menu item 6 of menu “ベースステーション” of menu bar 1
end tell
end tell

このような記事もいかがですか