2017-03-11 13 views
0

동적 웹 페이지의 화면 캡처를하고 싶습니다. 내용은 하루 중 매 시간마다 바뀝니다. 내 스크립트는 정상적으로 작동하지만 : 1. iMac (OS X Yosemite 버전 10.10.5)이 절전 모드이거나 화면 보호기가 활성화되어있는 동안 스크립트가 활성화되어 있는지 확인하고 싶습니다.
2. 두 번째 문제는 화면 캡처가 활성 웹 창이 아니라 내 원하는 웹 페이지 이어야한다는 것입니다.매 시간마다 동일한 URL을 열고 열려있는 웹 페이지의 스크린 캡쳐를 가져 오려고합니다.

set dFolder to "~/Desktop/screencapture/" 
do shell script ("mkdir -p " & dFolder) 
set i to 0 
repeat 24 times 
    do shell script "open -a Safari http://www.lipsum.com/" 
    do shell script ("screencapture " & dFolder & "frame-" & i & ".png") 
    delay 3600 -- Wait for 3600 seconds. 
    set i to i + 1 
end repeat 
+0

내 답변이 문제를 정리 했습니까? 그렇다면 투표 수 옆의 빈 녹색 체크/체크 표시를 클릭하여 답변으로 수락하십시오. 그렇지 않은 경우, 나 또는 다른 누군가가 귀하를 더 멀리 도울 수 있도록 작동하지 않은 것을 말하십시오. 감사. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

+0

시도 할 시간이 없었습니다. 대답은 Tx입니다. – Geonemec

답변

1

나는 당신이 선택한 도구로 당신이 원하는 것을 할 수 있다고 생각하지 않습니다. 나는 webkit2png을 사용할 필요가 있다고 생각합니다.

GitHub로 이동하여 webkit2png 스크립트를 here에서 다운로드하십시오. 이것은 하나의 파일에있는 파이썬 스크립트 일뿐입니다.

# Hide the dock icon (needs to run before NSApplication.sharedApplication) 
AppKit.NSBundle.mainBundle().infoDictionary()['LSBackgroundOnly'] = '1' 

# Handles ATS HTTPS requirement introduced in El Cap 
if options.ignore_ssl_check: 
    AppKit.NSBundle.mainBundle().infoDictionary()['NSAppTransportSecurity'] = dict(NSAllowsArbitraryLoads = True) 

app = AppKit.NSApplication.sharedApplication() 

지금 당신은 화면 보호기가 실행되고 있는지 여부를 귀하의 웹 사이트를 다운로드 여부와 관계없이 윈도우의 수 : 당신은 라인 주위를 편집해야합니다 (420) 그래서 (중간에 추가 된 3 선이) 다음과 같다 사용하여 초점했습니다

./webkit2png --ignore-ssl-check -W 800 -H 600 -F -o MYSITE http://www.lipsum.com/ 

을 당신은 기존의 AppleScript를 함께 이것을 사용할 수 있습니다 - 당신의 "frame-" & iMYSITE 부분을 넣어.

당신은 아마 당신이 스크립트를 저장할 경우, 당신은 같은 것을 사용해야 따라 ./webkit2png 대신 전체 경로를 넣어야하므로합니다 /Users/Geonemec/webkit2png --ignore-ssl-check ...

당신은 그것을 실행하여 받아들이는 옵션에 도움을받을 수 있습니다 :

webkit2png -h 
+0

죄송합니다, github와 (과) 협력하지 않았습니다. "webkit2png.py"는 내 루트 (처음 3 줄을 추가하지 않고)로 소스 코드를 저장했습니다. 은 그 때 나는 터미널을 사용 : iMACAlbin : ~ albinverhoeven $ 파이썬 webkit2png.py -h 파일 "webkit2png.py", 라인 464 주() ^ IndentationError : 예상 가 어떻게 명확 추가하지 들여 쓰기 블록 그것을 내 스크립트에 통합 할 수 있습니다. 어떻게해야하는지 설명해 주시겠습니까? Albin – Geonemec

+0

webkit2png이 (가) 지금 실행 중입니다. 여태까지는 그런대로 잘됐다. 내 스크립트에 이것을 통합하는 기능이 아직 작동하지 않습니다. 이 지금은 내 스크립트입니다 세트 dFolder에 "~/데스크탑/screencapture /" 할 쉘 스크립트 ("에서 mkdir -p"& dFolder) 세트 i가 0 반복 2 회 \t TELL 응용 프로그램 ./ webkit2png --ignore-ssl-check -W 800 -H 600 -F -o MYSITE "frame-"& i http://www.geonemec.be/Geo/PR/GC70Z34.php \t \t 지연 60 - 60 초 동안 기다리십시오. \t 끝은 내가 + 1 최종 반복 에 \t 세트 내가 이야기 (AppleScript로에서 코멘트를 : 예상 표정을 알 수없는 토큰을 발견했다..) 잘못 무엇입니까? – Geonemec

0
set dFolder to "~/Desktop/screencapture/" 

do shell script ("mkdir -p " & dFolder) 

set i to 1 
repeat 2 times 
    set DeTijd to time string of (current date) 
    tell application "Terminal" 
     activate 
     do script ("webkit2png --ignore-ssl-check -F -o PR" & DeTijd & " " & "http://www.google.com") 
    end tell 
    delay 3600 -- Wait for 3600 seconds = 1 hour. 
    set i to i + 1 
end repeat 

이 잘 작동합니다. 도움을 청합니다.