[Pythonmac-SIG] Question on appscript's entire_contents() call

Andrew Wu andrewwu at gmail.com
Fri Apr 30 10:18:47 CEST 2010


Hello,

My team is using py-appscript to do some automated testing (via the
UI).  We really like the entire_contents() call because it gives us
all the UI elements for a given application (as referenced via
app('System Events').processes[app_name]).  However, entire_contents()
seems to return a list, and we lose the advantage of generating
complex queries to discover information about a set of objects.
Instead we've found ourselves having to iterate over the list and
querying each item of interest in the list, which results in a
significant performance hit.

I have 2 primary questions:

a) Is there a way to create complex queries on entire_contents in this
context, or am I stuck iterating over the list that is returned?

b) The same operation on the resultant list on Snow Leopard (10.6.3)
seems to run 4x slower than on Leopard (10.5.8), discounting hardware
differences.  Is there a way for me to setup the appscript
installation to mitigate this performance hit?

As an example, let's say I'd like to build a representative tree
structure of the menu bar for a running application.

Apologies if I'm misusing terms.


Thank you,

Andrew


More information about the Pythonmac-SIG mailing list