1

我有一个 4K HDR 显示器,有时 Macbook 会导致颜色被洗掉,解决方法是禁用然后重新启用 HDR。我正在尝试创建一个 AppleScript,然后将其合并到 Automator 中。我能够获得一些牵引力,但无法确定如何进行实际的取消检查并识别该组。这是我到目前为止所拥有的:

tell application "System Preferences"
activate
delay 2
set the current pane to pane id "com.apple.preference.displays"
delay 2
tell application "System Events"
    click checkbox "High Dynamic Range" of group 2 of window "LG HDR 4K" of application process "System Preferences"
end tell
quit end tell

这是我得到的错误:

error "System Events got an error: Can’t get group 2 of window \"LG HDR 4K\" of application process \"System Preferences\". Invalid index." number -1719 from group 2 of the window "LG HDR 4K" of application process "System Preferences"

这是我尝试取消选中并重新选中 HDR 的页面截图: 在此处输入图像描述

任何建议将不胜感激,谢谢。

4

1 回答 1

2

我没有高清显示器,所以我看不到这个特定选项,但如果我运行以下代码,我会得到窗口所有子元素的完整列表:

tell application "System Preferences"
    activate
    delay 2
    set the current pane to pane id "com.apple.preference.displays"
    delay 2
    tell application "System Events"
        tell window 1 of application process "System Preferences"
            entire contents
        end tell
    end tell
end tell

您感兴趣的子元素似乎具有以下形式:

radio button "Scaled" of tab group 1 of window "Built-in Retina Display" of application process "System Preferences" of application "System Events"

请注意,它包含一个tab group 1条目(指的是您位于链中缺少的四个可用选项卡的“显示”选项卡上。

于 2020-06-30T19:03:57.777 回答