0

我知道atomac UI自动化工具,我正在尝试访问我的mac应用程序中的一个按钮,每次应用程序加载按钮时UIElement树都会发生变化,因为我无法在我的代码中重复使用,下面是我的代码

allButtons= allUIElement[5].findAllR(AXRole='AXButton')
print allButtons
position = allButtons[1].AXPosition
print position
size = allButtons[1].AXSize
print size
clickpoint = ((position[0] + size[0] / 2), (position[1] + size[1] / 2))
print clickpoint
test20Window.clickMouseButtonLeft(clickpoint)

正如您在我的代码中看到的那样,我正在尝试从 UIElement[5] 访问按钮,该按钮将在下次加载应用程序时动态更改为 6,7 或 1,因为我希望它单击的按钮不会发生

4

1 回答 1

0

我看到你刚才问了这个问题,但我希望这会有所帮助:

your_app = atomac.getAppRefByLocalizedName("Your App Name")
app_window = your_app.windows()[0]
buttons = app_window.findAllR(AXRole='AXButton')
your_button = buttons[0]
button_position = your_button.AXPosition
button_size = your_button.AXSize
clickpoint = ((button_position[0] + button_size[0] / 2), (button_position[1] + button_size[1] / 2))
your_button.clickMouseButtonLeft(clickpoint)

这样您就可以动态地找到您的应用程序窗口。

于 2017-02-20T09:58:51.453 回答