如何通过AppleScript调用Share菜单项?以Safari分享至Notes为例
你的代码存在两个核心问题:
- 菜单名称错误:德语环境下Safari的“文件”菜单是
Ablage,不是Files - 分享菜单的层级定位错误:点击
Share …后弹出的子菜单并非嵌套在原Share …菜单项下,而是作为独立的弹出菜单存在
修正后的AppleScript代码
tell application "Safari" activate -- 确保有页面加载,避免无内容时分享菜单异常 if not (exists document 1) then display alert "请先打开一个网页" return end if end tell tell application "System Events" tell process "Safari" -- 打开文件菜单(德语:Ablage) click menu item "Share …" of menu "Ablage" of menu bar 1 delay 0.3 -- 等待分享菜单弹出,可根据系统响应速度调整 -- 定位弹出的分享菜单并点击Notes选项 click menu item "Notes" of menu 1 of menu item "Share …" of menu "Ablage" of menu bar 1 end tell end tell
关键说明
- 必须先激活Safari并确保有网页打开,否则分享菜单可能无法正常触发
- 延迟时间
delay可根据你的系统响应速度微调,过短可能导致菜单未完全弹出就执行点击 - 如果是英文环境,只需将
Ablage改为File,Share …改为Share…(注意省略号的格式)
内容的提问来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

