AppleScript で Safari を開く

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AppleScript

今回は AppleScript で 特定の URL を Safari で開く方法をご紹介します。

AppleScript とは

AppleScript は Apple が開発した OS X に組み込まれているスクリプト言語です。
これを使ってショートカットを作成したり、繰り返しのタスクを自動化したりできます。

スクリプトエディタ

スクリプトエディタは AppleScript のスクリプトを読み、書き、記録し、そして保存できる使いやすいスクリプティングアプリケーションです。
AppleScript を書くためにはスクリプトエディタを起動します。
Spotlight からスクリプトエディタを立ち上げましょう。
(アプリケーションのファイルパスは /Applications/Utilities/Script Editor.app です)

以下のような画面が表示されます。

1

ここにスクリプトを書いていきます。

例)Safari の起動

では実際に Safari を起動するスクリプトを書いてみましょう。
以下のスクリプトをスクリプトエディタにペーストしてください。

tell application "Safari"
    activate
end tell

次に実行ボタンをクリックしてみましょう。

2

Safari が起動することが確認できたと思います。
簡単そうですね。

上記のスクリプトは、アプリケーション Safari に対して activate という命令を送信しています。
activate はアプリを起動し、アクティブにするというコマンドです。

作成したスクリプトを使いまわしたい場合は、ファイル保存時のオプションで ファイルフォーマットアプリケーション として保存すれば、そのファイルを実行するだけで作成したスクリプトが走ります。

特定の URL を開くスクリプト

本題です。
以下のスクリプトをスクリプトエディタにペーストし、実行してみてください。

set urls to {"https://www.google.co.jp", "http://www.yahoo.co.jp", "https://www.apple.com"}
set countOfUrls to count urls

tell application "Safari"
    activate
    tell window 1
        set firstTab to current tab
        repeat with i from 1 to countOfUrls
            set URL of document 1 to (item i of urls)
            if i = countOfUrls then exit repeat
            set current tab to (make new tab)
        end repeat
        set current tab to firstTab
    end tell
end tell

Google, Yahoo, Apple のホームページがそれぞれのタブで表示されます。
ここでは細かい説明はしません。
次回以降に説明しようと思います。

変数 urls の部分を書き換えれば、好きな URL を開くようにカスタマイズできます。
「Safari 起動時に毎回同じ URL を開く」という処理を行っている場合は、このスクリプトを活用すると時間が短縮できると思います。

なお、以下の用語は Safari が用意している AppleScript 用の命令 です。

  • window
  • current tab
  • URL
  • document

よって、同じスクリプトでは他のウェブブラウザは動きません。

アプリケーションの命令

それぞれのアプリケーションには、そのアプリケーションだけで使える命令が独自に組み込まれています。
各アプリケーションでどのような命令が用意されているかは、スクリプトエディタの [ファイル] - [用語説明を開く...] で確認することができます。

3 4

まとめ

AppleScript をうまく利用すれば、繰り返しのタスクを自動化することができます。
気になるアプリケーションの命令を確認して、繰り返し実行している作業はどんどん自動化してしまいましょう。

リンク

一方ロシアは

タブを固定した。

ミレニアム・ファルコン製作日記 #8

8 号 表紙

mfd_8_1

パーツ

mfd_8_2

mfd_8_3

mfd_8_4

成果

mfd_8_5

mfd_8_6

mfd_8_7

今回の作業は以下の 3 つでした。

  • テクニカル・ステーションを組み立てる
  • ラウンジシート外縁を組み立てる
  • ラウンジシートを組み立てる

テクニカル・ステーションの組み立てでは、細かいパーツを 4 つほど接着しました。
これはファルコンの主船倉にあるコンソールです。
エピソード 5 でベスピンから脱出するときに、R2-D2 がハイパードライブを修理する際に触っていたものになります。
ルーク達を逃してしまったピエット提督は、あのあとベイダー卿のキツーイ「お叱り」を受けたことでしょう。

ラウンジシートを組み立ててみてわかったのですが、あのシートの背後には寝台があり、向かいにはテクニカル・ステーション・コンソールがありました。
映画を見直すと確かにこのような配置になっています。
こういう発見は楽しいです。

それではまた次回。

May the Force be with you!