inspect无法抓到窗口控件详细信息

问题:
1、用UIA做了一个自动化测试程序,在自己机器上跑得很好,拿到同事机器上就报找不到界面元素
2、拿inspect去分析,发现目标程序很多控件没有AutomationId或者根本看不到相关控件


解决:
1、关闭360,重启动系统,要确保360没有启动

过程
1、用inpect查看程序,结果发现有些界面元素看不到
2、到其他同事机器上同样情况
3、关闭360再试,无用
4、尝试重启系统且不让360启动,问题解决

备注
1、自己机器上装的是QQ的电脑管家,无此问题。

转载于:https://www.cnblogs.com/zz962/p/3567234.html

Inspect是一个桌面自动化工具,可以用于测试、调试和分析桌面应用程序。它提供了一些API,可以通过编写Python代码来与Inspect进行交互。以下是一些常用的API: 1. Inspect.Application对象:代表正在运行的应用程序实例。可以使用该对象的方法和属性来获取有关应用程序的信息,如进程ID、窗口句柄和控件层次结构。 2. Inspect.Control对象:代表应用程序中的一个控件。可以使用该对象的方法和属性来获取有关控件的信息,如控件类型、位置和属性。 3. Inspect.Pattern对象:代表一种模式,用于在控件层次结构中查找控件。可以使用该对象的方法和属性来执行查找操作,如查找控件、获取控件列表和设置查找条件。 下面是一个简单的示例,演示如何使用Python代码与Inspect进行交互: ```python import clr clr.AddReference("UIAutomationClient") # 引用 UIAutomationClient.dll clr.AddReference("UIAutomationTypes") # 引用 UIAutomationTypes.dll import System.Windows.Automation as auto # 导入 UIAutomation 命名空间 # 启动应用程序 app = auto.Application.Launch("notepad.exe") # 获取主窗口句柄 hwnd = app.MainWindowHandle # 获取主窗口控件层次结构 root = auto.TreeWalker.ControlViewWalker.GetControlView(hwnd) # 查找“文件”菜单项 pattern = auto.AndCondition( auto.PropertyCondition(auto.AutomationElement.ControlTypeProperty, auto.ControlType.MenuItem), auto.PropertyCondition(auto.AutomationElement.NameProperty, "文件") ) file_menu = root.FindFirst(auto.TreeScope.Descendants, pattern) # 点击“文件”菜单项 invoke_pattern = file_menu.GetCurrentPattern(auto.InvokePattern.Pattern) invoke_pattern.Invoke() ``` 在上面的示例中,我们首先启动了记事本应用程序,然后获取了它的主窗口句柄。接下来,我们使用控件层次结构查找了“文件”菜单项,并使用Invoke模式模拟了单击操作。这个示例只是一个简单的演示,Inspect提供了更多的API和功能,可以根据实际需求进行调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值