记录uiautomation找不到组件的问题

使用python库uiautomation获取某个桌面软件的窗体。

import uiautomation as uia
app = uia.windowscontrol(searchdepth=1,Name="xxx",classname="xxx")
app.swichtothiswindow()

报错,Find Control Timeout(10s),但是用windows kit中的inspect.exe是能够确切找到桌面上对应窗体的classname、name、processid等信息的,也就是说该应用组件是存在的。
通过各种不同猜测,并测试,最后发现即便桌面上开启了很多软件,但用uia直接获取所有节点信息,也只能获取到root根节点,或是“开始”、“任务栏”、“托盘图标”、“时间”等组件。
所以,来到代码目录下,用管理员身份运行cmd窗口运行上述代码能正常获取窗体信息。
回到IDE,关闭后,右键以管理员身份打开IDEA,再次运行,可以正常获取app并打印。
总结,uiautomation获取不到对应组件的原因之一:权限不足,但是同样的代码在另一台电脑上未出现过权限问题。
可能是IDEA安装时的配置差异、电脑系统的用户控制权限不同等原因……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值