2014-11-18 2 views
1

JavaScript를 사용하여 Cocoa 앱의 webview 내부 버튼에 클릭 이벤트를 보낼 수 있습니까?OSX에서 자동화를위한 JavaScript Yosemite

유틸리티 (Yosemite)에서 스크립트 편집기를 사용하여 기록하려고하지만 불행히도 웹 뷰 내부에 이벤트를 기록 할 수 없습니다.

애플 설명서의 testapp (webview가있는 코코아 응용 프로그램)의 UI 자동화 섹션에서 샘플 코드를 사용하여 시도했습니다 (https://developer.apple.com/library/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/index.html).

TestApp = Application('TestApp')  
TestApp.activate() 

delay(1) 

SystemEvents = Application('System Events') 

TestApp = SystemEvents.processes['TestApp'] 

TestApp.document.getElementById('testid').click();  // stuck at this last line not sure if I can  
//even call the document object in this way. Getting error undefined variable document. 

답변

0

브라우저/DOM 자바 스크립트를 사용하여 기본 앱 UI 요소에 액세스하려고합니다. 이 환경은 브라우저처럼 자바 스크립트를 사용하지만, 기본 객체 모델은 웹 페이지에서 보았던 DOM이 아닙니다. 그래서 document은 정의되지 않았습니다.

문서의 'UI 자동화'섹션에있는 작은 스 니펫과 마찬가지로, 창과 버튼 개체에 액세스해야합니다. 제어 whose를 사용하여 ID 등 이러한 배열을 통해 scrobble 아마 수도 있습니다 (

TestApp.windows[0].buttons[0].click() 

: 당신이 사용할 것이다 정확한 경로는 물론, TestApp가에 따라 달라집니다,하지만 뭔가를 보일 수 있습니다 하지만 그 경험이 없어.)

관련 문제