开发者社区> 科技小毛> 正文

Python获取IAccessible接口

简介:
+关注继续查看

MSAA的全称是Microsoft Active Accessibility。这是类似DCOM技术。技术模型是这样的,UI程序可以暴露出一个Interface,方便另一个程序对其进行控制。 MSAA技术的初衷是为了方便残疾人使用Windows 程序。比如盲人看不到窗口,但是盲人可以通过一个USB读屏器连接到电脑上, 读屏器通过UI程序暴露出来的这个Interface,就可以获取程序信息,通过盲文或者其它形式传递给盲人。

MSAA提供了如此方便的功能, UI自动化测试自然可以借用这项技术。MSAA暴露出来的Interface叫做 IAccessible。

Python中获取IAccessible接口的方法如下:

复制代码
from ctypes import windll, oledll, WinError, byref, POINTER
from ctypes.wintypes import POINT

from comtypes import COMError
from comtypes.automation import VARIANT
from comtypes.client import GetModule

# create wrapper for the oleacc.dll type library
GetModule("oleacc.dll")
# import the interface we need from the wrapper
from comtypes.gen.Accessibility import IAccessible

def AccessibleObjectFromPoint(x, y):
    
"Return an accessible object and an index. See MSDN for details."
    pacc 
= POINTER(IAccessible)()
    var 
= VARIANT()
    oledll.oleacc.AccessibleObjectFromPoint(POINT(x, y), byref(pacc),
byref(var))
    
return pacc, var

def AccessibleObjectFromWindow(hwnd):
    ptr 
= POINTER(IAccessible)()
    res 
= oledll.oleacc.AccessibleObjectFromWindow(
      hwnd,0,
      byref(IAccessible._iid_),byref(ptr))
    
return ptr
复制代码
 
 
本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2010/06/05/1752141.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python fastapi 入门教程,每个案例都使用postman进行测试写的接口
python fastapi 入门教程,每个案例都使用postman进行测试写的接口
15 0
Python中如何编写接口,以及如何请求外部接口
Python中如何编写接口,以及如何请求外部接口
18 0
Python中类的接口
Python中类的接口
10 0
迎战2022 - Python中文翻译《环球时报》整篇文章实战演示,调用有道翻译API接口进行英文转中文翻译实例训练
迎战2022 - Python中文翻译《环球时报》整篇文章实战演示,调用有道翻译API接口进行英文转中文翻译实例训练
23 0
手把手教你使用Flask框架构建Python接口以及如何请求该接口
手把手教你使用Flask框架构建Python接口以及如何请求该接口
88 0
接口自动化 [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
接口自动化 [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
40 0
接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架2
接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架2
31 0
接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架 1
接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架
26 0
接口自动化 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)
接口自动化 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)
21 0
TensorFlow Lite开发系列之python接口解析(一)
环境: tensorflow2.x, 一定要使用linux系统,后期转换模型windows会出现bug
56 0
+关注
科技小毛
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
双剑合璧-Python和大数据计算平台的结合
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多