【问题标题】:How to reload a Safari Extension from the command line?如何从命令行重新加载 Safari 扩展?
【发布时间】:2016-06-16 23:34:04
【问题描述】:

我需要从命令行“重新加载”一个 Safari 扩展(并且稍后还要构建包)。

如何做到这一点?

为什么?

我想一步构建——我的代码在 CoffeeScript 中,因此无论如何我都在编译它。

我尝试了什么?

除了绝望地谷歌搜索之外,我还尝试使用这个 AppleScript:

tell application "System Events"
   tell process "Safari"
       click the button "Reload" of window "Extension Builder"
   end tell
end tell

出现哪些错误:

系统事件出错:无法获取进程“Safari”的窗口“Extension Builder”的“重新加载”按钮。

还有这个变化:

tell application "System Events"
    tell process "Safari"
       tell button "Reload" of window "Extension Builder" to perform action
    end tell
end tell

这不会给出错误,但实际上也没有做任何事情。

【问题讨论】:

    标签: applescript safari-extension


    【解决方案1】:

    可能是按钮没有像您期望的那样“命名”。查看 UI Browser 以查看应用程序的界面层次结构以用于 GUI 脚本。

    “重新加载”按钮可通过以下方式访问:

    click button "Reload"  of UI element "ReloadUninstall[NAME OF EXTENSION HERE]" \
      of UI element 1 of scroll area 1 of window "Extension Builder"
    

    【讨论】:

      【解决方案2】:

      扩展浏览器的视图层次结构似乎在接受的答案被写入后发生了变化。这个脚本适合我:

      tell application "System Events"
          tell process "Safari"
               click button "Reload" of UI element 0 of window "Extension Builder"
          end tell
      end tell
      

      请注意,Safari 和 Extension Builder 窗口需要打开才能使用

      【讨论】:

        猜你喜欢
        • 2011-03-26
        • 2011-06-04
        • 1970-01-01
        • 2015-09-04
        • 2015-03-23
        • 1970-01-01
        • 2019-08-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多