AppleScript移动鼠标并单击Photoshop中的特定元素

AppleScript移动鼠标并单击Photoshop中的特定元素,applescript,mouseover,photoshop,Applescript,Mouseover,Photoshop,我的剧本需要一点帮助。事实上,我不确定问题是否出在剧本中,或者我的想法是错误的。 因此,我试图实现的是在Photoshop CS6/Cloud中自动在两个特定位置(收缩然后展开特定选项卡)上单击鼠标,然后将鼠标返回到原始位置 我使用的是鼠标工具,当它不是应用在Photoshop中,而是应用在桌面上时,脚本就可以很好地工作。 实际的问题是,由于某种原因,Photoshop中不会执行鼠标单击。事实上,他们偶尔会这样做,但很少。鼠标定位没有问题。只需单击鼠标即可。 以下是我到目前为止写的内容: s

我的剧本需要一点帮助。事实上,我不确定问题是否出在剧本中,或者我的想法是错误的。 因此,我试图实现的是在Photoshop CS6/Cloud中自动在两个特定位置(收缩然后展开特定选项卡)上单击鼠标,然后将鼠标返回到原始位置

我使用的是鼠标工具,当它不是应用在Photoshop中,而是应用在桌面上时,脚本就可以很好地工作。 实际的问题是,由于某种原因,Photoshop中不会执行鼠标单击。事实上,他们偶尔会这样做,但很少。鼠标定位没有问题。只需单击鼠标即可。 以下是我到目前为止写的内容:

set mouseToolsPath to (path to home folder as text) & "UnixBins:MouseTools"
set {x, y} to paragraphs of (do shell script quoted form of POSIX path of mouseToolsPath & " -location")
-- saves the original coordinates in two variables
set z to x
set zz to y

tell application "Adobe Photoshop CS6"
    activate
    delay 1
    
    set x to 1838
    set y to 463
    do shell script quoted form of POSIX path of mouseToolsPath & " -x " & (x as text) & " -y " & (y as text) & " -leftClick"
    
    set x to 1799
    set y to 463
    
    do shell script quoted form of POSIX path of mouseToolsPath & " -x " & (x as text) & " -y " & (y as text) & " -leftClick"
    
    set x to z
    set y to zz
    -- returns the mouse in original position
    do shell script quoted form of POSIX path of mouseToolsPath & " -x " & (x as text) & " -y " & (y as text)
end tell
我有一种感觉,我试图欺骗鼠标工具,让它知道我在桌面上,它被窃听了

我已经用键盘大师试用版解决了这个问题,效果很好。。但是因为我买不起宏程序,特别是针对这个问题。。我想写一个剧本……而且ofc自己也会获得一些经验。:)

编辑: 为了完成这篇文章。。对我来说,这个问题的临时解决方案是“鼠标工具”和“点击”的组合。它在10次中有9次工作,并且由于某种原因,只有当我通过“脚本编辑器”生成的可执行文件运行代码时,它才会工作。只有从Automator的GUI内部启动时,“Automator”才能正常运行。由于某些原因,自动机可执行文件无法正常运行。真的很奇怪,有问题的行为,很可能会让我失望。但现在这仍然是我的工作

set mouseToolsPath to (path to home folder as text) & "UnixBins:MouseTools"
set {x, y} to paragraphs of (do shell script quoted form of POSIX path of mouseToolsPath & " -location")

tell application "Adobe Photoshop CS6"
    activate
    delay 1
    do shell script "/usr/local/bin/cliclick c:1838,463"
    
    delay 0.5
    do shell script "/usr/local/bin/cliclick c:1660,463"
end tell
delay 0.5
do shell script quoted form of POSIX path of mouseToolsPath & " -x " & (x as text) & " -y " & (y as text)

也许可以试试
pyauogui
。。。如果您搜索Stack Overflow和Apple Stack Exchange,您应该可以很容易地找到这个问题的许多答案。它们经常出现,我贡献了三四个,这可能适用于你的情况。你应该考虑一下你接近这个问题的方式:如果窗口位于不同的位置,它听起来会很容易崩溃。运行这行Apple脚本本身:<代码>告诉应用程序“系统事件”告诉(进程1,它的束标识符=应用程序ID“Adobe PS图象处理软件CS6”)告诉Windows返回[它,动作“AxPress”。]用户界面元素的数量。如果你得到了一个有意义的结果,那么这是一个比你现在的方法更好的方法。您也可以使用相同的命令,并坚持到它的末尾“of ui elements”,然后再次运行它。这更深入了一层。最后再粘一个,等等。但是,如果我记得的话,Adobe Photoshop不是可以编写脚本的吗?你查过它的脚本字典吗?@CJK不幸的是,我对任何编程语言都不是很有经验。。有些话题对我来说就像科幻小说。我想我的方法应该更加基于用户界面,以使脚本按其应该的方式工作。正如你所说的。不要通过重新定位按钮来中断。不幸的是,这就是我的知识深度。我将再次深入研究堆栈溢出和Apple堆栈交换,以获得解决此问题的线索。谢谢大家!@当我执行你告诉我的脚本时。。结果是
{},{}}
出现一条弹出的错误消息
操作“运行AppleScript”遇到错误:“系统事件出错:不允许MouseClicker进行辅助访问。”
该脚本称为“MouseClicker”,我在系统首选项/安全性和隐私中授予它进行更改的权限。