memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

FireShotで連続してWebページをPDF化して保存するシェルスクリプト(Mac用)

Webページのキャプチャするブラウザの拡張機能の1つにFireShotがあります。便利です。見えている部分だけではなくWebページ全体をスクショしてくれます。有名ですね。

chromewebstore.google.com

これを利用して連続してWebページをPDF化して保存するためのスクリプト(Mac用)を作りました。

作業自動化にはMacだとAutomatorがありますがうまく行きませんでした。

単純にキー押下イベントをApple Scriptで生成しているだけです。別に目新しいものではありませんが。。。自分でもあとで探すときにメモがあると便利なので書いています。

#!/bin/bash

sleep 3

while true; do
  osascript -e 'tell application "System Events" to keystroke "s" using {command down, shift down}' 
  sleep 5
  osascript -e 'tell application "System Events" to keystroke tab'
  sleep 1.5
  osascript -e 'tell application "System Events" to keystroke tab'
  sleep 1.5
  osascript -e 'tell application "System Events" to keystroke tab'
  sleep 1.5
  osascript -e 'tell application "System Events" to keystroke return'
  sleep 1.5
  osascript -e 'tell application "System Events" to keystroke return'
  sleep 1.5
  osascript -e 'tell application "System Events" to keystroke "w" using {command down}' 
  sleep 1.5
  osascript -e 'tell application "System Events" to keystroke (ASCII character 29)'
  sleep 3
done

やっていることは簡単で、⌘+Shift+sでWebページ全体をスクショしてくれます。スクショ後の処理方法に関するFireShotのタブが表示されますので、そこで3回タブキーを押すことでPDFとして保存するを選択することになります。あとはエンターキーを2回押して保存まで完了します。最後に⌘+wキーを押してFireShotのタブを閉じます。

ただ、それだけです。