V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
intellectual
V2EX  ›  macOS

请教个问题, apple script 如何移动并点击鼠标?

  •  
  •   intellectual · 2019-12-30 21:47:04 +08:00 · 3158 次点击
    这是一个创建于 1817 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教个问题,apple script 如何移动并点击鼠标?

    发现 apple script 似乎是冷门中的冷门,相关知识中文讨论区非常少。 有时候免不了要做一些套娃式的工作,理所当然的想到了按键精灵。可惜 mac 上按键精灵只有个 alpha 版还不全。我想实现一个功能,特别简单,主要就是鼠标挪到一个地方点一下。但我找了半天无法找到 apple script 怎么移动并点击鼠标,可能是我太菜找的方法不对。

    我不是程序员,这些都是自学的,还请各位大神指点一二,就是怎么移动光标和点击,丢个链接就万分感谢了。

    下面这个是按键精灵的代码大概示例

    tab0X=20                           初始光标 x 轴
    tab0Y=16                           初始光标 y 轴
    pageX=1254                         页面中光标 x 轴
    pageY=110                          页面中光标 y 轴
    scrollY=23                         页面中光标偏移量
    
    For 5                              5 次循环
      MoveTo tab0X, tab0Y                移动到初始光标位置
      LeftClick 1                        点一下
      Delay 1500                         延迟 1.5 秒
      MoveTo pageX, pageY                移动到页面光标位置
      LeftClick 1                        点一下
      pageY = pageY + scrollY            页面位置光标进行偏移
      Delay 1500                         延迟 1.5 秒
    Next                               循环结束
    

    然后我翻译成了 apple script 就这样卡在了不知道怎么移动光标和怎么点击。

    set tab0X to 90
    set tab0Y to 23
    set pageX to 620
    set pageY to 118
    set scrollY to 23
    
    repeat 5 times                 5 次循环
    	???                         移动到初始光标位置
    	???                         点一下
    	delay 1.5                     延迟 1.5 秒
      	???                         移动到页面光标位置
      	???                         点一下
      	???                         页面位置光标进行偏移
    	delay 1.5                     延迟 1.5 秒
    end repeat         		    循环结束
    
    4 条回复    2019-12-31 08:39:29 +08:00
    Sylv
        1
    Sylv  
       2019-12-30 22:04:35 +08:00
    Apple Script 不用移动光标,可以直接点击指定位置:
    click at {x, y}
    intellectual
        2
    intellectual  
    OP
       2019-12-30 22:12:13 +08:00
    @Sylv 我是用的自带的脚本编辑器,里面 AS 版本是 2.7,可能不知道啥原因,人家显示的是 «script»”不理解“click”信息。可能这个方法不让用了吧。
    Sylv
        3
    Sylv  
       2019-12-30 22:17:59 +08:00 via iPhone
    tell application "System Events"
    click at {x, y}
    end tell
    intellectual
        4
    intellectual  
    OP
       2019-12-31 08:39:29 +08:00
    @Sylv 感谢您的再次相助。可能是我的问题,点击运行后无法停止,且也木有点击的动作😭
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2530 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:54 · PVG 09:54 · LAX 17:54 · JFK 20:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.