2012-01-06 51 views
1

SafariでWebページを開き、特定の領域の画面キャプチャを行うAppleScriptで作業します(Cmd + Shift + 4を使用)。しかし、画面のキャプチャ部分を自動化するのに問題があります。AppleScriptでの画面キャプチャ

私はマウスをクリックしてマウスを動かすためにMouseToolsを使用しています。

set x to POSIX file ((POSIX path of (path to me)) & "/.." & "/MouseTools") as text 
set pathName to POSIX path of x 

tell application "Safari" to activate 
open location "http://google.com" 
delay 1 
#do shell script quoted form of pathName & " -x 500 -y 167" 
delay 1 
tell application "System Events" 
    #keystroke "3" using {command down, shift down} 
end tell 
delay 1 
#do shell script quoted form of pathName & " -leftClick" 

等...

キーストロークコマンドは、すべてのものが、画面キャプチャのために働いています。次の問題はleftclickを押したままマウスを動かすことです。誰かがこれを働かせたのですか、よりよいアプローチがありますか?

答えて

3

MouseToolsをご利用いただきありがとうございます。それは私のプログラムです!しかしscreencaptureと呼ばれるスクリーンショットを取るためのコマンドラインツールがあります。私はあなたのguiのアプローチの代わりにそれを使用する必要があります確信しています。たとえば、ここにあなたのデスクトップ全体の絵...

set imagePath to (path to desktop as text) & "screenCapture.png" 
do shell script "screencapture -mx -T0 " & quoted form of POSIX path of imagePath 

私はscreencaptureを使用して、画面のちょうど特定のエリアをキャプチャする方法があります確信しているを取得する方法です。そのマニュアルページやグーグルを少し調べると、それについて何かが出てくるはずです。

+0

あなたが作った素晴らしいコマンドラインツールです。私はscreencaptureコマンドツールをテストし、それはフルスクリーンのスクリーンショットでうまく動作します。残念ながら、それはあなたのMouseToolsと組み合わせて動作しません。 'do shell script 'screencapture -i〜/ Desktop/picture.png"(CMD + SHIFT + 4と同じ)を使うと、手動でマウスをクリックするまでそのモードにとどまり、 'do shell script pathName& "-leftClick" 'や他のスクリプトから引用したものです。 – MartinR

+0

これはあまりにも悪いことですが、スクリーンキャプチャは画面の一部だけではできず、MouseToolsのクリックを認識しません。ただし、フルスクリーンショットを撮ってから、フルスクリーンの画像を必要なサイズに切り抜くために別のツールを使用することも考えられます。画像イベントは画像の中央でのみ切り抜くことができますが、必要に応じてImageMagickのようなツールを使用して切り抜くことができます。ここをクリックしてください:http://www.imagemagick.org/script/index.php – regulus6633

+0

簡単なタスクは、いくつかの異なるプログラムがポップアップする巨大なスクリプトに発展しているようです。私の戦略を考え直す必要があると思う。とにかく助けてくれてありがとう。 – MartinR

関連する問題