2016-08-18 13 views
0

Ich bin bekannt für Atomac UI Automation Tool, ich versuche auf eine Schaltfläche in meiner Mac-App zugreifen und jedes Mal, wenn App lädt Schaltflächen UIElement Baum ändert sich, die ich nicht in meinem Code verwenden kann, ist unten mein CodeWie behandelt man sich dynamisch ändernde UIElements in Atomac/Python?

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) 

Wie Sie in meinem Code sehen ich versuche Taste, um von UIElement [5], die dynamisch 6,7 oder 1 sagen, wird sich ändern, wenn die App lädt das nächste Mal wegen der die Taste, die ich will, es zu klicken, ist nicht passiert

Antwort

0

ich sehe, dass Sie die Frage vor einer Weile gefragt, aber ich hoffe, das hilft:

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) 

Auf diese Weise finden Sie Ihr Anwendungsfenster dynamisch.

Verwandte Themen