【问题标题】:How to click UI element using JXA如何使用 JXA 单击 UI 元素
【发布时间】:2015-05-18 20:33:15
【问题描述】:

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

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

感谢您的帮助

【问题讨论】:

  • 您尝试访问的应用程序是什么以及哪个按钮?

标签: macos automator javascript-automation


【解决方案1】:

您可以使用系统事件应用程序与应用程序的用户界面进行交互。这是一个在 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()

要了解可以与哪些用户界面元素交互以及如何交互,请查看 System Events 脚本字典中的 Processes Suite。要打开字​​典,请在 Script Editor 的菜单栏中选择 Window > Library,然后在 Library 窗口中选择 System Events。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-03-14
      • 1970-01-01
      • 2013-11-23
      • 2019-09-18
      • 2018-07-07
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多