【Apple Script】Amazon Photos に画像をドラッグアンドドロップして自動でアップロードする方法

Amazon Photos に 画像をアップロードすることがありました。

その際、ブラウザに画像をドラッグ&ドロップします。

しかし、何度もこれをするのが面倒なので、

Apple Script を使って、自動化できないか考えました。

(今回は、Amazon Drive に APIで アップロードする以外の方法で)

すると、便利なツールがありました。

cliclick」 という マウスの操作を CLI でできるというもの。

新しいバージョンから、ドラッグ&ドロップ に対応したようです。

dd:(ドラッグ開始)、du:(ドラッグ終了) などの オプションが追加されていました。

例えば、

cliclick dd:100,100 du:200,200 とすれば、FinderからデスクトップにD&Dで、ファイルが移動できる。

これを使えば、開いているブラウザにもD&Dできるのではないかと考えた。

しかし、デスクトップ ←→ Finder、または、FInder ← → デスクトップのようにファイルを移動はできたが、ブラウザだとうまくいかなかった。

そこで、もう一つのオプションがあることに気がついた。

それは、dm:(ドラッグしながらマウスカーソルを動かす) というもの。

    property scriptPath : "【cliclickのパス】"
    set targetFolder to POSIX file "【ファイルのパス】"
    tell application "Finder"
        open targetFolder
        activate

        set bounds of window 1 to {200, 400, 1000, 800}

        set tergetList to (document files that displayed name contains ".") of Finder window 1
        select tergetList

        set sx to 360
        set sy to 520
        set cx to 590
        set cy to 900
        set ex to 600
        set ey to 900

        set cmd to quoted form of POSIX path of scriptPath & "cliclick" & ¬
            " dd:" & (sx as text) & "," & (sy as text) & ¬
            " dm:" & (cx as text) & "," & (cy as text) & ¬
            " w:500" & ¬
            " dm:" & (ex as text) & "," & (ey as text) & ¬
            " w:500" & ¬
            " du:" & (ex as text) & "," & (ey as text)
        log (cmd)
        do shell script (cmd)

    end tell

dmオプションの後に、w:(待ち時間)を設定してあげると、無事に画像がアップロードできた。

(ブラウザ上にマウスがきてから、少しカーソルを動かしてあげると、ドラッグエリアが表示されているような気がする。)

tergetList の所で、フォルダの中の画像を全選択している。(※ファイル名に.ドットが入っている)