2012-01-06 16 views
1

使用AppleScript打開Safari中的網頁,並對特定區域進行屏幕截圖(使用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" 

等等

的按鍵命令工作的一切,但屏幕捕獲。下一個問題是在按住左鍵的同時移動鼠標。有人得到這個工作或有更好的方法嗎?

回答

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 

我敢肯定有辦法捕捉使用抓屏屏幕的只是一個特定區域。稍微搜索一下它的手冊頁或谷歌應該可以找到相關的信息。

+0

這是一個很棒的小命令行工具。我測試了screencapture命令工具,它對全屏幕的屏幕截圖工作正常。不幸的是,它不能與您的MouseTools結合使用。當我使用'do shell script'screencapture -i〜/ Desktop/picture.png「'(與CMD + SHIFT + 4相同)時,它將保持該模式,直到我手動單擊鼠標爲止,並且它不會響應'do shell腳本引用形式的pathName&「-leftClick」或任何其他腳本。 – MartinR 2012-01-07 14:16:45

+0

這太糟糕了screencapture不能完成屏幕的某些部分,也不能識別MouseTools的點擊。然而,另一個想法是採取全屏幕拍攝,然後使用另一種工具將全屏圖像裁剪爲您需要的大小。圖像事件只能在圖像的中心裁剪,但您可以使用像ImageMagick這樣的工具來裁剪您需要的任何地方。看到這裏:http://www.imagemagick.org/script/index.php – regulus6633 2012-01-07 20:11:19

+0

一個簡單的任務似乎演變成一個巨大的腳本,幾個不同的程序彈出。想想我必須重新思考我的策略。無論如何,感謝您的幫助。 – MartinR 2012-01-08 15:23:34