macos - `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
用户都能使用这个基本且显而易见的功能,浪费了时间并且非常令人沮丧!
我认为代码是正确的,也许我的计算机上有一些特定的东西阻止它按预期工作?
请帮忙 :-)
解决方案
不确定我理解什么实际上不适合你,但是我在重现相同的脚本时遇到了问题,一旦我在 Automator.app 中编写了它,我就试图按下“播放”按钮来查看脚本是否工作并且它告诉我诸如“语法错误,无法获取应用程序进程 Automator 的属性 AXFocusedUIElement”之类的东西(从内存中,不确定它是否正是所写的)
并且挣扎了一段时间,直到我意识到有一个我没有看到的弹出窗口,告诉我“自动机想要使用辅助功能来控制这台计算机的权限(这个东西在系统偏好,安全和隐私,隐私,可访问性),所以我打开了,有一个允许控制我的计算机的应用程序列表,我勾选了 Automator.app,然后它工作了然后我试图右键单击的每个应用程序都向我显示相同的弹出窗口,我必须对每个人都做同样的事情(safari,finder 等......)然后它就起作用了
希望能帮到你!
推荐阅读
- android - 如何解决“空流结束”网络问题?
- ios - 如何为 UIButton 保留图像的 tintColor?
- react-native - 使用 Redux 从 React Native 中的 API 获取数据
- javascript - 循环遍历带有数组的嵌套对象
- css-selectors - 未找到 Testcafe 选择器
- angular - 为什么在 vscode 中使用相同的文件添加缺少的导入打开新选项卡?
- linux - 使用 Shell 脚本从冗长的字符串中提取子字符串
- json - 从 Jira 到逻辑应用程序的 HTTP 请求不起作用,但来自 Postman 的相同 json 工作
- reactjs - 如何在 react-table v-7 中添加具有不同值的 subRow?
- linux - dd 命令创建不同的文件大小