如何使用JXA单击UI元素

时间:2015-03-16 16:15:17

标签: macos automator jxa

请告诉我如何点击应用程序窗口中的点坐标? 我尝试使用JXA技术在OSX 10.10上自动化我的应用程序。 在文档中,我发现可以使用click at event。我是JXA的初学者,无法找到如何拨打电话。 我在脚本编辑器中尝试过的代码片段:

var app = Application('my_application_path')
app.window.click.at('{100,100}')

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

您可以使用System Events应用程序与应用程序的用户界面进行交互。这是一个点击Safari中某些坐标的脚本:

// Activate Safari, so you will be able to click like a user

Application("Safari").activate()

// Access the Safari process of System Events

var SystemEvents = Application("System Events")
var Safari = SystemEvents.processes["Safari"]

// Call the click command, sending an array of coordinates [x, y]

Safari.click({ at: [300, 100] })

如果要单击特定按钮(或用户界面的其他元素),则更适合单击该特定元素。例如:

// Click the third button of Safari's first window to minimize it

Safari.windows[0].buttons[2].click()

要了解可以与哪些用户界面元素进行交互以及如何进行交互,请查看系统事件中的进程套件'脚本词典。要打开字​​典,请在“脚本编辑器”的菜单栏中选择“窗口”>库,然后在“库”窗口中选择“系统事件”。

答案 1 :(得分:0)

参见https://github.com/dtinth/JXA-Cookbook/wiki/System-Events#clicking-menu-items 例如:

var fileMenu = proc.menuBars[0].menuBarItems.byName('File');