我的一个applescript 遇到了问题。
我正在尝试创建一个applescript,它选中/取消选中在mac唤醒或屏幕保护程序在mac安全面板中停止后调用密码的复选框。
我正在使用它与proximity.app,当我回到家并且我的手机在范围内时,proximity.app 删除密码,但是当我超出范围时,它将密码放回。
嗯...我被迫使用 UI 脚本来完成,因为 Mountain Lion 中的新安全策略。

所以有超出范围时的代码:

tell application "System Preferences"
set current pane to pane id "com.apple.preference.security"
tell application "System Events"
    tell process "System Preferences"
        tell first window
            tell first tab group
                click radio button 1
                if not 1 then click checkbox 1
                click menu item 6 of menu of pop up button 1
            end tell
        end tell
    end tell
end tell
quit

结束告诉

当在范围内时:
tell application "System Preferences"
set current pane to pane id "com.apple.preference.security"
tell application "System Events"
    tell process "System Preferences"
        tell first window
            tell first tab group
                click radio button 1
                click checkbox 1
            end tell
        end tell
    end tell
end tell
quit

结束告诉

我想要改进的是一种在选中或取消选中之前先验证该框是选中还是取消选中的方法。

谢谢你的帮助。

最佳答案

只需检查 checkbox 的值。

0 = 取消选中, 1 = 选中

tell application "System Preferences" to ¬
    reveal anchor "Advanced" of pane id "com.apple.preference.security"
tell application "System Events"
    tell first tab group of first window of process "System Preferences"
        tell checkbox 1 to if value is 0 then click -- checkbox was not checked.
    end tell
end tell
quit application "System Preferences"

关于macos - 在使用 Applescript 单击之前验证复选框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13021798/

10-13 05:10