atomac
AXCallbacks.py
--elemDisappearedCallbaxck(retelem,obj,**kwargs):用于检查用户界面元素是否不再出现在屏幕上的回调。
kwargs元素定义(title/value/role etc.)
returns:Boolean
--returnElemCallback(retelem):工作表出现时回调
returns:观察者回调返回的元素
AXClasses.py
-BaseAXUIElement(_ally.BaseAXUIElement):用户界面元素的基类。
实现四个主要目标:
1.getAppRef和getSystemObject的工厂类方法正确实例化类。
2.用于查找子类中使用的对象的生成器和方法。
3.__getattribute__调用操作。
4.基于AX通知的等待实用程序。
--_getRunningApps(cls):获得正在运行程序清单
returns:list
--getAppRefByPid(cls,pid):获取指定pid的应用程序的顶级元素
returns:element
--getAppRefByBundleId(cls,bundleId):使用指定的Bund ID(捆绑包标识)获取应用程序的顶级元素,如com.vmware.function
--getAppRefByLocalizedName(cls,name):使用指定的本地化名称获取应用程序的顶级元素,如VMware Fusion。也允许通配符
--getFrontmostApp(cls):获取当前最前面的应用程序。如果找不到图形用户界面应用程序,则引发值错误异常(Raise a ValueError exception)
--getAnyAppWithWindow(cls):随机获取一个有窗口的应用程序。如果找不到图形用户界面应用程序,则引发值错误异常(Raise a ValueError exception)
--getSystemObject(cls):获取顶级系统可访问性对象
--launchAppByBundleId(bundleID):使用指定的包标识(bundle ID)启动应用程序
--launchAppByBundlePath(bundlePath, arguments=None):使用给定的包路径(bundle path)启动应用程序
return True if succeed
--terminateAppByBundleId(bundleID):使用给定的捆绑包(bundle Id)标识终止应用程序
return True if succeed
--setTimeout(self,timeout=0.0):对给定的引用设置可访问的应用编程接口超时。
可选:timeout(非负浮点;默认值为0)
值为0将会在系统范围内重置超时
返回:None
--postQueuedEvents(self,interval=0.01):发布排队事件(例如Quartz events)的私有方法。队列中的每个事件都是一个元组(事件调用,事件调用的参数)。
--_QueueEvent(self,event,args):将要运行的事件排队的私有方法。队列中的每个事件都是一个元组(事件调用,事件调用的参数)。
--_addKeyToQueue(self, keychr, modFlags=0, globally=False):将按键添加到队列中。
参数:指非字母数字的关键字符或常数
按键(如RETURN或TAB)
修饰语
全局或应用特定
返回:None或引发值错误异常。
-- waitForFocusToMatchCriteria(self,timeout=10,**kwargs):等待聚焦元素改变的便捷方法(到符合kwargs标准的元素)。
返回:元素或无
-NativeUIElement(BaseAXUIElement):
NativeUIElement类-以最简单和自然的方式公开可访问性应用编程接口
--getAttributes(sel):获取元素上可用属性的列表
returns:lists
--getActions(self):返回元素上可用操作的列表
returns:lists
--setString(self,attribute,string):将指定的属性设置为指定的字符串。
--findFirstR(self,**kwargs):递归搜索与标准匹配的第一个对象
--findAllR(self,**kwargs):返回匹配指定标准的所有子代的列表(递归)
--getElementAtPosition(self, coord):返回给定坐标处的AXUIElement。
returns:如果self在其他窗口后面,该函数将返回self。
--activate(self):激活应用程序(向前打开菜单和窗口)
--getApplication(self):获取基础应用程序UIElement。如果UIElement是应用程序的子级,它会尝试获取AXParent,直到它达到最高应用程序级别元素。
--menuItem(self,*args):返回指定的菜单项。
示例-按名称引用项目:
app.menuItem('File','New').press()
app.menuItem('Edit','Insert’,‘Line Break').press()
按索引引用项目:
app.menuitem(1,0).press()
Refer to items by mix-n-match:
app.menuitem(1,“about TextEdit”).press
--popUpItem(self,*args):在弹出菜单中返回指定的项目
--getBundleId(self):返回应用程序的包标识
--getLocalizedName(self):返回应用程序的本地化名称
--sendKeys(self,keystr):发送一系列不带修饰符的字符
--pressModifiers(self, modifiers):按住修饰键
--releaseModifiers(self, modifiers):发送一个按下修饰符的字符
--sendGlobalKeyWithModifiers(self, keychr, modifiers):全局发送一个按下修饰符的字符
--dragMouseButtonLeft(self, coord, dest_coord, interval=0.5):拖动鼠标左键,不按修饰键。
参数:点击屏幕的坐标(元组(x,y))
要拖动到的目标坐标(元组(x,y))
向下、拖动和向上发送btn事件的时间间隔
返回:无