在Google Chrome浏览器中使用Applescript单击自动化吗?


9

各位程序员大家好!

我想将一些applescript代码另存为一个应用程序,以便在打开该应用程序时它将转到Google Chrome,并在Google语音中接听来电。

我将在chrome浏览器中打开我的gmail帐户,因此,对于applescript应用程序来说,只需告诉Google chrome激活,然后在特定区域(将显示按钮的位置)中单击以接受呼叫即可。

如何找到要鼠标单击的位置的坐标?因为我正在制作一个单独的应用程序以单击其他位置并结束通话。

谁能告诉我如何用applescript编写代码?还是有更简单的方法?

以下代码与我找到的代码相似,并且可以正常工作,但是我不确定它在哪里/是否单击...

tell application "Safari" to activate
tell application "System Events"
   tell process "Safari"
   click at {300, 100} -- {from left, from top}
   end tell
end tell

谢谢您的时间,-塞巴斯蒂安

Answers:


11

您也可以使用JavaScript单击元素:

tell application "Google Chrome" to tell active tab of window 1
    execute javascript "document.getElementById('chrome-web-store-title').click()"
    --execute javascript "document.querySelectorAll('.tile-grid .most-visited')[3].click()"
end tell

通过URL聚焦现有标签:

tell application "Google Chrome"
    repeat with w in windows
        set i to 1
        repeat with t in tabs of w
            if URL of t starts with "https://mail.google" then
                set active tab index of w to i
                set index of w to 1
                return
            end if
            set i to i + 1
        end repeat
    end repeat
end tell

2

看起来好像是在向右点击300像素,从左上角向下点击100像素。(我不知道如果是这样的画面或Safari窗口的左上角...)你可以找出是按Shift- - Command4然后移动十字线,直到上面的数字是300,底部数字是100。按可以消除十字线escape。然后,您可以算出您真正希望脚本单击的位置,并更改脚本中的数字以使其匹配。


1
感谢您提供的快捷方式,daviewales!唯一的问题是,单击似乎只在浏览器本身的范围内起作用...如在其中一样,我可以单击并打开一个新选项卡,单击文件,然后单击刷新按钮,但在实际网站上没有任何按钮。有什么办法吗?
seba1685

我刚刚对其进行了测试,发现可以单击Gmail中的电子邮件和Google主页上的按钮,但是不能单击Google Talk窗口中的任何按钮。
daviewales

1

这很容易,您可以分五个步骤完成!

  1. 打开applescript编辑器

  2. 点击 Record

  3. 打开Finder并激活Google Chrome

  4. 单击Stop或前面有六角形的圆

  5. Cmd+ S,将出现一个窗口-将脚本另存为应用程序,然后单击旁边带有“启动”字样的圆圈

结语:重新启动Mac并观看Chrome看起来像魔术!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.