접근성 관리자 (또는 기타 도구)를 사용하여 UI 요소의 이름을 아는 방법


21

Applescript를 통해 인쇄 대화 상자와 상호 작용하려고합니다.

에뮬레이션하려는 것은 사용자가 특정 드롭 다운에 값을 설정하는 것입니다.

내가 가지고 있다고 말하십시오 :

tell application "System Events"
  tell process "Preview"
    set value of pop up button XXX to YYY
  end tell
end tell

XXX라는 이름을 어떻게 알 수 있나요? 예를 들어 "프린터"와 "사전 설정"드롭 다운을 어떻게 구별합니까?

Accessibility Inspector를 열었지만 여기에 표시된 정보에서 지정된 드롭 다운에 대한 이름 또는 다른 고유 식별자에 대한 참조를 찾을 수 없습니다.

많은 사람들이 다른 드롭 다운을 나타내는 숫자를 사용하는 것을 보았지만 이것이 좋은 습관인지 확실하지 않습니다. Apple이 특정 시점에서 두 드롭 다운 순서를 바꾸려면 어떻게됩니까?

도움을 주시면 감사하겠습니다.

업데이트 :

아래 제안 된대로 10.6.8 및 관리자를 사용하면 다음과 같은 결과가 나타납니다.

여기에 이미지 설명을 입력하십시오


UI elements여기 에서 명령이 유용 하다는 것을 알았습니다 . n8henrie.com/2013/03/a-strategy-for-ui-scripting-in-applescript
phs

다음Ask Different의 다른 페이지대한 링크입니다 . AppleScript – Accessibility Inspector를 통해“추측”하지 않고 프로그래밍 방식으로 UI 요소의 이름, 속성, 속성 및 클래스를 가져올 수 있습니까? (
여기서이

답변:


15

최신 정보. 이것은 10.7.x에서 작동하지만 10.6에는 les 요소 정보가 있습니다.

인쇄 시트의 버튼 (드롭 다운)에는 기능을 설명하는 설명이 있습니다.

에서 접근성 관리자 ; 마우스를 요소 (버튼) 위로 가져 가면이 오류가 나타납니다. cmd + F7을 사용 하여 접근성 관리자 보기를 잠글 수 있습니다 .

설명은 AXDescription 으로 표시됩니다 .

여기에 이미지 설명을 입력하십시오

프린터의 경우 사전 설정 프린터 입니다. 사전 설정입니다.

AXDescription 을 알고 있다면 이와 같은 것을 사용하여 숫자를 피할 수 있습니다. 그러나 이것이 유일한 방법은 아닙니다. 한 가지 예만 있습니다.

activate application "Preview"
tell application "System Events"
    tell process "Preview"
        click ((pop up buttons of sheet 1 of window 1) whose description is "Printers")
    end tell
end tell

위의 예제에서 위의 작업을 수행하려면 인쇄 세부 정보가 '세부 정보 표시'와 함께 표시되어야합니다.

버튼 / 드롭 다운에는 메뉴가 있습니다. 따라서 버튼 메뉴메뉴 항목 을 참조하여 선택하거나 클릭 할 수 있습니다 .

번호 또는 제목 / AXTitle을 사용합니다.

activate application "Preview"
    tell application "System Events"
        tell process "Preview"
            click ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

click menu item "Last Used Settings" of menu of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")
        end tell
    end tell

버튼에 변수를 사용하고 호출하여 반복 코드를 줄일 수 있습니다. 아래 예와 같이 할 때;

   activate application "Preview"
tell application "System Events"
    tell process "Preview"
        set Presets_button to item 1 of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

        click Presets_button
        click menu item "Last Used Settings" of menu of Presets_button
    end tell
end tell


4

궁금한 사람들을 위해 10.7에서 접근성 관리자를 찾을 수있는 위치는 다음과 같습니다.

/Applications/Xcode.app/Contents/Applications


1

최근 에 AppleScript에서 UI 스크립팅에 대한 워크 플로우를 작성했습니다 .

요컨대, 훨씬 더 쉬운 일을 만들어 낸 핵심 구성 요소 UI Elements는 AppleScript 의 명령 이 AppleScript 편집기가 UI 요소를 호출 하기 위해보고 싶어하는 용어 목록을 반환 한다는 것을 배우는 것이 었습니다 . Accessible Inspector (보통 약간 다름)에서 볼 수있는 용어로 이것을 인터페이스하여 작동하는 스크립트를 작성하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.