编程语言
首页 > 编程语言> > 记录一次排查C#使用UI Automation获取程序元素的bug

记录一次排查C#使用UI Automation获取程序元素的bug

作者:互联网

前言

  1. 代码都是别人的代码,只是我来改
  2. 需求是要获取到其他程序的元素
  3. 前人的做法是记录下进程名字和title,然后把当前选中的元素向上找,一直找到根元素,生成一个类xpath的东西,找的时候根据这个类xpath从上到下找元素

问题

问题就是生成的类xpath,不太对,比如资源管理器,当选中资源管理器的地址栏的时候,在根元素和二级元素之间,多了一级

解决

需要把RawViewWalker改为使用ControlViewWalker

解释

大概就是RawViewWalker包含了所有控件,但是其实有一些控件是用户看不到的叫peripheral elements的东西,把这些东西排除掉就行了。

标签:xpath,控件,代码,C#,RawViewWalker,元素,Automation,UI,资源管理
来源: https://www.cnblogs.com/iguxiaobei/p/14548665.html