【问题标题】:Click with applescript用applescript点击
【发布时间】:2019-06-11 19:57:39
【问题描述】:

我正在尝试在屏幕的某个位置自动点击。我找到了几个问题的答案,但没有一个对我有帮助。

这个命令应该验证“Spotify”(它是一个随机的应用程序,只是为了做一个测试)是否在最前面。如果这是真的,它应该点击屏幕的某个位置(在这种情况下,鼠标的位置在“播放”按钮上)。 我运行程序,一切正常。但是当我把应用程序放在前台时,什么也没有发生。程序以“Result: 1”结束

set x to 0
repeat until x is equal to 1
    tell application "System Events"
        if frontmost of application "Spotify" is true then
            delay (2)
            tell application "System Events"
                click at {720, 634}
            end tell
            set x to 1
        end if
    end tell
end repeat

我也尝试过一些“延迟”,但它们一直没用。

【问题讨论】:

  • 如果 your 应用程序在前台,那么根据定义,任何其他应用程序都不会。系统事件仅针对最前面的应用程序,因此为了编写 GUI 脚本,您首先需要通过激活它将所需的应用程序置于最前面,然后获取所需元素相对于前窗口(或任何 UI)的名称或位置对象包含它)。
  • 我当然做到了。我移动了“Spotify”窗口,以便将“播放”按钮放置在 {720, 634}(我忘了在代码中添加坐标)。在这个程序之前,还有一个将“Finder”移到前台。然后它开始检查“Spotify”是否在前台。在这种情况下,我必须单击“Spotify”图标并将应用程序置于前台。最后,程序给了我“结果:1”(所以它起作用了),但是“播放”按钮没有被按下。

标签: applescript


【解决方案1】:

找到另一种方法:使用 python。

要安装 python,只需上网,您就会知道如何安装。

我使用的库是“pyAutoGui”。 要安装它,只需看这里: https://pyautogui.readthedocs.io/en/latest/install.html

那么,如果你想在 automator 上使用 python 和这个库,就这样做吧。

  1. 打开自动机
  2. 在菜单中找到“运行 Shell 脚本”
  3. 在“Shell”选项中,选择“/bin/bash”

然后,如果你想用第三方库运行你的程序,复制它

/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7<< "EOF"

插入你的python程序,然后在末尾写上“EOF”

这里有一个小例子

/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7<< "EOF"
import pyautogui
pyautogui.click(720, 634)
EOF

【讨论】:

    猜你喜欢
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多