atomac源码阅读记录

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事件的时间间隔

返回:无

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值