2012-01-06 6 views
1

Safari에서 웹 페이지를 열고 Cmd + Shift + 4를 사용하여 특정 영역의 화면 캡처를 수행하는 AppleScript로 작업합니다. 하지만 화면 캡처 부분을 자동으로 만드는 데 문제가 있습니다.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을 사용하여 화면의 단지 특정 영역을 캡처 할 수있는 방법이있을거야 얻을하는 방법은 다음과 같습니다. 그것의 man 페이지 또는 google의 작은 검색은 그것에 무엇인가 나타나야한다.

+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