首页 > 解决方案 > `AXFocusedUIElement` <- 没有获得焦点元素(文件夹、文件),它指向 `Finder` 菜单

问题描述

试图在我的 Mac 上重现右键单击上下文菜单。
我找到了这样一篇文章:

https://beebom.com/how-right-click-using-keyboard-mac/

我这样做了,但是当我单击键盘快捷键时,我得到Finder的菜单不是当前选择的文件/文件夹菜单。

这是一个apple script用过的,

on run {input, parameters}

tell application "System Events" to set frontApp to name of first process whose frontmost is true
tell application "System Events"
    tell application process frontApp
        set _selection to value of attribute "AXFocusedUIElement"
        tell _selection to perform action "AXShowMenu"
    end tell
end tell
return input
end run 

花了几个小时试图让每个Windows用户都能使用这个基本且显而易见的功能,浪费了时间并且非常令人沮丧!

我认为代码是正确的,也许我的计算机上有一些特定的东西阻止它按预期工作?

请帮忙 :-)

标签: macos

解决方案


不确定我理解什么实际上不适合你,但是我在重现相同的脚本时遇到了问题,一旦我在 Automator.app 中编写了它,我就试图按下“播放”按钮来查看脚本是否工作并且它告诉我诸如“语法错误,无法获取应用程序进程 Automator 的属性 AXFocusedUIElement”之类的东西(从内存中,不确定它是否正是所写的)

并且挣扎了一段时间,直到我意识到有一个我没有看到的弹出窗口,告诉我“自动机想要使用辅助功能来控制这台计算机的权限(这个东西在系统偏好,安全和隐私,隐私,可访问性),所以我打开了,有一个允许控制我的计算机的应用程序列表,我勾选了 Automator.app,然后它工作了然后我试图右键单击的每个应用程序都向我显示相同的弹出窗口,我必须对每个人都做同样的事情(safari,finder 等......)然后它就起作用了

希望能帮到你!


推荐阅读