日常的に訪れるウェブサイトを一括で開くテクニック【Mac】

# はじめに
皆さんは毎日同じサイトを訪れるルーティーンはありますか?
毎日同じサイトを訪れる場合、ブックマークなどを利用することが多いと思います。でもこれって多少面倒ですよね。

そこで、スクリプトを使用すればSpotlightやRaycastからワンコマンドでまとめて開くことができます。

![画面収録 2024-07-07 22.24.53.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2778030/a6f72ac3-9ae4-15f7-7b7f-b9a7bf6f2243.gif)

今回は、これを実現するやり方を解説します。

## スクリプトコード
```applescript
tell application "Google Chrome"
    make new window
    activate
        delay 1
    tell application "System Events" to keystroke "f" using {command down, control down}
    open location "https://qiita.com/"
    open location "https://www.nikkei.com/"
    open location "https://www.raycast.com/"
end tell
```
先ほどのスクリプトはこの9行のコードで実現できます。

以下に細かめの解説を書いておくので、興味のある方はご覧ください。

<details><summary>コードの解説</summary>

```applescript
tell application "Google Chrome"
```
- AppleScriptに対して「Google Chrome」のアプリに命令を送る、と宣言しています

```applescript
make new window
```
- Chromeで新しいウィンドウを作成します

```applescript
activate
```
- Google Chromeをアクティブ（最前面）にします。あとでショートカットキーをChromeに与えるための措置です

```applescript
delay 1
```
- 1秒間の遅延（待機）を挿入します。これは新しいウィンドウが確実に作成され、ショートカットキーを受け付けるための余裕を持たせる目的です

```applescript
tell application "System Events" to keystroke "f" using {command down, control down}
```
- 「System Events」アプリケーションを使用して、`command`キーと`control`キーを押しながら`f`キーを押します。Chromeのウィンドウをフルスクリーンモードにするためのキーボードショートカットです

```applescript
open location "https://qiita.com/"
open location "https://www.nikkei.com/"
open location "https://www.raycast.com/"
```
- URLを開きます。これらはそれぞれ別のタブで開いてくれます

```applescript
end tell
```
- `tell application "Google Chrome"`ブロックを終了します。スクリプトはここで終わり、という合図ですね


</details>

## 実際にワンコマンドで開く準備
まず、ターミナルを開いて以下のコマンドを入力します。
```zsh
mkdir -p ./script && cat << 'EOF' > ./script/open_all_at_once_Tabs.scpt
tell application "Google Chrome"
    make new window
    activate
        delay 1
    tell application "System Events" to keystroke "f" using {command down, control down}
    open location ""
    open location ""
    open location ""
end tell
EOF
```

このコマンドを実行すると、`./script/open_all_at_once_Tabs.scpt`にコードがすでに入力された状態に　なっているはずです。

あとはVScodeでもviでもいいので、このファイルを編集してください。
`open location ""`を増やしたり減らしたりして、開きたいサイトのURlを入力して保存しましょう。

それが終わったら次にショートカットを作成します。
![スクリーンショット 2024-07-07 22.53.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2778030/463bb7d3-1060-daae-57c3-b608aa7c8322.png)
↓
![スクリーンショット 2024-07-07 22.53.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2778030/9c0c4294-5376-16aa-5fac-dfe2b5e8b8a3.png)
↓
![スクリーンショット 2024-07-07 22.53.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2778030/a6a15b96-e40b-f157-9556-642c2d936166.png)
↓
![スクリーンショット 2024-07-07 22.54.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2778030/e52aaa92-899a-12ab-0d70-42e0097e4d3f.png)

この画面になればOKです。
`+`ボタンを押して新規でショートカットを作成します


右の検索バーに「シェル」と打ち込み、`シェルスクリプトを実行`をダブルクリックすると、何やら追加されると思います。
![スクリーンショット 2024-07-07 22.56.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2778030/08155b8e-d114-8fe1-a73b-f298225c128e.png)
。

`echo "Hello World"`を消して、以下のように書き換えます。

```zsh
osascript ./script/open_all_at_once_Tabs.scpt
```
`osascript`はAppleScriptを実行するコマンドです。

そして、実行しやすいようにショートカットの名前も変更しておきましょう。(普通英語で書きます。このあと視認できやすいように日本語で書いているだけです)

![スクリーンショット 2024-07-07 23.04.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2778030/cc86e264-8b5a-c512-a3b0-d0e37064cb06.png)

`⌘+S`で保存しておきましょう。

そのあとでSpotlightやRaycastでショートカット名を叩くと..

![スクリーンショット 2024-07-07 23.05.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2778030/74d9ac88-3013-a63a-4af4-8d3c34b1b86f.png)

このように出てきますね！以後これを実行するだけでいつでも、指定したサイトがまとめて自動で開きます。
なお、初回実行のみ権限回りの設定をしなければいけないかもしれません。

![8Fo2Dbg2tiqxL4w1720361344_1720361414.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2778030/931b588d-4585-232a-8787-b3bf82b21650.png)

`Shortcuts Events`、ショートカットにアクセシビリティの権限を付与しておきましょう。(一回ショートカットを実行しないと項目に出てこないかもしれません)

## おわりに
AppleScriptは他にも便利な使い道がありそうなので、思いつき次第、記事にしていきたいと思います。