スクリーンショットの連続自動撮影には、Keyboard Maestroが便利

Webサイトに表示されるコンテンツを、次々に自動で切り替えながら、連続してスクリーンショットを撮影したいことはありませんか?私はあります。よくあります!そんな時に便利な自動化ユーティリティーKeyboard Maestroがやっぱり最高だった!という話です。

Keyboard Maestroアイコン
Keyboard Maestroアイコン

提案資料を作るために、とあるWebサイトにアクセスして統計情報をチェックしていたんですが、複数ページにわたって表示されるコンテンツの使い勝手がイマイチでした。検索して直接該当ページにジャンプもできないし、一覧で俯瞰もできない。複数ページのPDFかPowerPointファイルで一括ダウンロードする機能もない様子。macOS標準の機能でPDFとして保存するにしても、1ページずつなのは面倒なのと、微妙にテキストと図表や写真の位置がズレてしまうことがわかりました(書き出しあるある)。

そこで、Mac用の自動化ユーティリティーKeyboard Maestroを使って、連続して自動でスクリーンショット撮影することにしました。自分が過去に何度か使おうとして挫折しままだったので、この機会に再挑戦するという裏設定も…。

Keyboard Maestroって、どんなユーティリティー?

Keyboard Maestroは、Mac用として昔から知られる定番の自動化ツールです‬。同様のサービスとしては、今でこそmacOS標準ならApple ScriptやAutomator、同じサードパーティーならAlfredなどがありますが、Keyboard Maestroはその柔軟性や機能性が幅広い層から支持を集めています。

Keyboard Maestro
Keyboard Maestro
  • Mac用自動化ユーティリティー人気のマクロツールで歴史も古い。(退屈な)定型操作をミスなく、自動で実行できる。
  • 任意のアプリケーションの起動/終了や、ウインドウの配置、メニュー選択、コピー&ペースト、特定のファイルの開閉など、自由に設定可能
  • 任意のフローに沿った制御、条件指定、ループアクションなど、最初から組み込まれているアクションを自在に組み合わせることで、細かくて複雑な操作も自動化
  • Webサイトの操作も自由。任意のページへのアクセスやスクロール、ボタンクリック、フォームへの入力、ダウンロードなど。
  • アクションは、カスタマイズしてお気に入りとして保存可能。色や名前、変数、設定などを保存して、再利用できる。
  • 複数の名前が付いたパラメーターをサブルーチンとして処理し、複雑な処理も自動化。
  • メニューバーから、Keyboard Maestro Editorに素早くアクセスしたり、ToDo数やシステムの状態、株価などをカスタマイズして表示可能。
  • macOS High Sierra 10.13以上に対応。Apple Siliconにもネイティブ対応
  • $36の買い切りライセンス。2022年7月時点の円安がひと段落したタイミングで、クーポンコードを使えば3,900円を切るぐらい。

Keyboard Maestroの、ココがイイ!

  • 自動処理機能がないアプリケーションでも、自動化を実現できる。
  • 操作が直感的で、機能も充実柔軟性が非常に高い
  • 少々時間が掛かっても構わないバッチ処理を、夜中や週末、昼の中継中などに実行させられる。
  • ダイアログボックスやアラートに限らず、人が画面に表示される状態を見て判断する内容は、画像をアクション中に登録することで処理できる。
  • 登録したマクロは、Dropboxなどクラウドストレージ経由で、複数のデバイス間で同期できる。

Keyboard Maestroの、ココはイマイチだったり要注意…

  • UIはすべて英語。マニュアルやWiki、フォーラム、サポートなども日本語リソースは限定的。ただし、熱心な日本の愛好家も多いのが心強い!
  • 残念ながら、Mac版のみ。Windowsには、いろいろなRPAツールが充実してますからね。

今回の対象コンテンツと、やりたいこと

今回、私が作業したWebサイトやコンテンツと、私がやろうとしていることは以下の通りです。同じような経験がある方も多いんじゃないでしょうか。なお、後述する方法はWebサイトに限らず、ビデオアプリケーションやカタログユーティリティーなどで使う時も有効です。

  • とあるWebサイトの統計コンテンツ。一つの章ごとに12〜16ページあり、全部で30ほどの章で構成されている。
  • テキストと図や写真の組み合わせで残しておくが、テキストは縦書き横書きが混在する。また、一部の表やグラフ、写真のキャプションには外国語も混じるので、OCRによる文字起こしは考えない。
  • コンテンツは、キーボードの←→アローキーまたはマウスクリックで切り替えられる。
  • 複数ページのPDFかPowerPointファイルで一括ダウンロードするような機能はない。
  • 企画資料を作るために必要な部分を引用し、出典を明示するための操作。
  • 一部のコンテンツを参照したいが、いちいち切り替えなくてもいいように、一時的にまとめて手元に残したい。
  • 私的複製は禁止されていないものの、作業後は不要なデータは削除。

Keyboard Maestroにマクロを登録するステップ

  1. Keyboard Maestroをダウンロードし、インストールする。起動すると、画面録画を許可するためのアラートがいくつか表示されるので、システム環境設定で必要な設定をすべて許可する。
  1. 対象のWebサイトをブラウザーで開く(なお、私が使っているのはChrome系ブラウザーのSidekick)。
  2. Keyboard Maestroで、ウインドウ左側の「Groups」欄の下にある[Add Group]ボタンをクリックして、新規グループを登録する。
  3. 今回は、Sidekickでのみ使うマクロを登録するため、グループ「Sidekick」を作る。ウインドウ右側の「Action List」で、「Available in all applications.」を「Available in these applications:」に変え、緑丸の[+]ボタンで「Sidekick」を選ぶ。グループ名もアイコンも「Sidekick」に変えておく。
  4. ウインドウ中央の「Macros」欄の下にある[Add Macro]ボタンをクリックして、新規マクロを登録する。
  5. ウインドウ右側の「Action List」で、[New Action]ボタンをクリックすると、ウインドウの左側が「Actions」リストに変わる。
  6. 「Actions」リストで、「Activate a Specific Application」をダブルクリックするか、ウインドウ右側の「Action List」にドラッグ&ドロップする。「Activate: Sidekick」に設定する。
  1. 次に、「Actions」リストで、「Screen Capture」を検索して、ウインドウ右側の「Action List」に登録する。「in: area」に変更し、[Get]ボタンをクリックして、自分がキャプチャーしたい画面の座標と範囲を調整しながら指定する。
  2. 次に、「Actions」リストで、「Set Variable to Text」を検索して、ウインドウ右側の「Action List」に登録する。変数を「MyDate」とし、「Insert Token」のプルダウンメニューから「Date」-「Formatted (ICU) Date Time」を選択する。私はカスタマイズして、「yyMMdd-HHmmss」に設定した(例:220705-123456)。
  1. 次に、「Actions」リストで、「Write to a File」を検索して、ウインドウ右側の「Action List」に登録する。私の場合は、前述のルールで命名したファイルを「with format: PNG」でデスクトップに保存するように設定した。
  2. 次に、「Actions」リストで、「Type a Keystroke」を検索して、ウインドウ右側の「Action List」に登録する。「Simulate keystroke」にキーボードの[←]キーを押して登録する。最後に、このマクロの名前を「Screenshot to Clipboard and File」に付け替えておく。これで、スクリーンショットのキャプチャーから表示の切り替えまでは完了。
  1. 今回、章によって画面数が違うので、キャプチャーを繰り返す設定用のマクロを別に登録する。「Sidekick」グループを選択し、ウインドウ中央の「Macros」欄の下にある[Add Macro]ボタンをクリックして、新規マクロを登録する。マクロの名前を「Repeat」と付ける。
  2. ウインドウ右側の「Action List」で、[New Action]ボタンをクリックすると、ウインドウの左側が「Actions」リストに変わる。「Actions」リストで、「Repeat」を検索して、ウインドウ右側の「Action List」に登録する。「Execute these actions」に繰り返したい回数を入れ、「No Action」の点線の枠に、前述で登録したマクロ「Screenshot to Clipboard and File」をドラッグ&ドロップで登録する。
  3. 「Repeat」を選択する。「Repeat Actions」に任意の回数を入れ、上記で登録したマクロを「Execute macro:Screenshot to Clipboard and File」として設定する。
  1. Keyboard Maestroウインドウ上部の[Run]ボタンをクリックして、マクロを実行する。結果をチェックして、マクロの設定を調整する。
  2. 調整が終わったら、実行。「システム環境設定」-「集中モード」-「おやすみモード」をオンにしておくのをオススメ。また、自動処理中は、他の作業をせずに放置しておく。
  3. 作業が終了したら、キャプチャーされたファイルの内容を確認する。

結果は、とても満足できるものでした。とにかく、一度設定したら、後は放置しておけばいいのが楽。今回は、スクリーンショットの撮影枚数がさほど多くなかったんですが、量が多いほどストレスが減らせるメリットが大きいはず!やはり、Keyboard Maestroはもっと早めに使って覚えておけばよかった…

途中で、広告やCookieのアラートなど邪魔な要素が表示された画面があったので、そこだけはPhotoshopで処理しました。また、チャプターを切り替えるタイミングでロードにほんのわずかに時間が掛かってしまったのか、ナビゲーションボタンが完全には消えずに残ってしまうことがありました。これも目視で判別し、Photoshopで編集しました。この辺りのノイズ除去は、スクリーンショットの枚数が多くなるとちょっと手間かもしれません。私はこの後、Renamerでまとめてファイル名を付け替えたり、Optimageで最適化して完了しました。