Mac文件处理软件Hammerspoon入门指南——与应用程序菜单交互

搬瓦工机场JMS

Hammerspoon mac这是一款macOS平台的自动化工具,可以帮助我们大大提高效率,适用于窗口管理、音乐播放、应用管理,甚至是网络请求……基本可以做到指哪打哪。应用场景:常用软件使用快捷键启动、高效快速的窗口管理、高效的音乐播放控制等。

Hammerspoon for Mac(自动化批处理软件)

立即下载Hammerspoon for Mac(自动化批处理软件)

Hammerspoon mac这是一款macOS平台的自动化工具,可以帮助我们大大提高效率,适用于窗口管理、音乐播放、应用管理,甚至是网络请求……基本可以做到指哪打哪。应用场景:常用软件使用快捷键启动、高效快速的窗口管理、高效的音乐播放控制等。

2022-03-318.05 MB英文软件

与应用程序菜单交互

有时,自动化某事的唯一方法是与应用程序的GUI交互,这不是理想的,但通常需要完成某些事情。

为了说明这一点,我们将构建一个热键,在多个用户代理字符串之间循环Safari(即它如何向Web服务器标识自己)。要做到这一点,你需要有Safari浏览器Develop启用菜单,您可以通过勾选做Show Develop menu in menu barSafari→Preferences→Advanced

function cycle_safari_agents()
 hs.application.launchOrFocus("Safari")
 local safari = hs.appfinder.appFromName("Safari")

 local str_default = {"Develop", "User Agent", "Default (Automatically Chosen)"}
 local str_ie10 = {"Develop", "User Agent", "Internet Explorer 10.0"}
 local str_chrome = {"Develop", "User Agent", "Google Chrome — Windows"}

 local default = safari:findMenuItem(str_default)
 local ie10 = safari:findMenuItem(str_ie10)
 local chrome = safari:findMenuItem(str_chrome)

 if (default and default["ticked"]) then
 safari:selectMenuItem(str_ie10)
 hs.alert.show("IE10")
 end
 if (ie10 and ie10["ticked"]) then
 safari:selectMenuItem(str_chrome)
 hs.alert.show("Chrome")
 end
 if (chrome and chrome["ticked"]) then
 safari:selectMenuItem(str_default)
 hs.alert.show("Safari")
 end
end
hs.hotkey.bind({"cmd", "alt", "ctrl"}, '7', cycle_safari_agents)

我们在这里做的是首先启动Safari或将其带到前面(如果它已经运行)。这是任何菜单交互中的重要步骤 – 通常会禁用当前未关注的应用程序的菜单。

然后我们使用了对Safari本身的引用hs.appfinder.appFromName()。使用此对象,我们可以搜索可用的菜单项并与它们进行交互。具体来说,我们正在寻找三个用户代理字符串的当前状态Develop→User Agent。然后我们检查它们中的哪一个被勾选,然后选择下一个。

因此,反复按+ + + 7将在默认用户代理字符串,IE10用户代理和Chrome用户代理之间循环。每次,我们都会显示一个简单的屏幕警报,其中包含我们已循环访问的用户代理的名称。

未经允许不得转载:搬瓦工VPS_美国VPS » Mac文件处理软件Hammerspoon入门指南——与应用程序菜单交互

赞 (0) 打赏

相关推荐

    暂无内容!

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏