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,如需转载请自行联系原作者
相关文章
|
20天前
|
存储 缓存 JavaScript
python实战篇:利用request库打造自己的翻译接口
python实战篇:利用request库打造自己的翻译接口
31 1
python实战篇:利用request库打造自己的翻译接口
|
1月前
|
数据采集 JSON API
如何实现高效率超简洁的实时数据采集?——Python实战电商数据采集API接口
你是否曾为获取重要数据而感到困扰?是否因为数据封锁而无法获取所需信息?是否因为数据格式混乱而头疼?现在,所有这些问题都可以迎刃而解。让我为大家介绍一款强大的数据采集API接口。
|
3月前
|
监控 API Python
京东商品sku属性数据接口Python
京东商品sku属性数据接口Python
29 0
|
4月前
|
Python
Python 面向对象编程:Python 中如何定义抽象类和接口?
Python 面向对象编程:Python 中如何定义抽象类和接口?
|
2月前
|
数据采集 数据挖掘 API
主流电商平台数据采集API接口|【Python爬虫+数据分析】采集电商平台数据信息采集
随着电商平台的兴起,越来越多的人开始在网上购物。而对于电商平台来说,商品信息、价格、评论等数据是非常重要的。因此,抓取电商平台的商品信息、价格、评论等数据成为了一项非常有价值的工作。本文将介绍如何使用Python编写爬虫程序,抓取电商平台的商品信息、价格、评论等数据。 当然,如果是电商企业,跨境电商企业,ERP系统搭建,我们经常需要采集的平台多,数据量大,要求数据稳定供应,有并发需求,那就需要通过接入电商API数据采集接口,封装好的数据采集接口更方便稳定高效数据采集。
|
3月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
89 7
|
1月前
|
前端开发 API 网络架构
Python 如何开发出RESTful Web接口,DRF框架助力灵活实现!
Python 如何开发出RESTful Web接口,DRF框架助力灵活实现!
|
1月前
|
缓存 负载均衡 Java
Python实现API接口并发测试
Python实现API接口并发测试
58 0
|
1月前
|
开发框架 Java .NET
闪速码短信Python接口SDK
闪速码短信Python接口SDK
66 4
|
1月前
|
存储 关系型数据库 MySQL
解释一下如何使用Python的数据库接口库进行数据库操作。
【2月更文挑战第12天】【2月更文挑战第33篇】解释一下如何使用Python的数据库接口库进行数据库操作。