使用UIAutomation检索工具tripbutton

时间:2018-10-16 09:55:12

标签: c# microsoft-ui-automation

使用Windows窗体上的UIAutomation,我试图在特定窗体上的鼠标下检索任何控件。 目的是对应用程序的控件进行操作,并对其进行检索和操作。

我多次遇到的问题是我找不到工具按钮。 每当我得到一个窗格时(不是我想要的工具条按钮的父级或子级,而是父级的同级)。

这是我要检索的工具按钮:screenshot 1

相同的控件,但在Inspect.exe中(突出显示:我正在获得的控件):screenshot 2

我虽然是因为控件的z顺序,所以我尝试使用同级控件,即控件的边界包含鼠标的控件(无论如何将所有控件都按其z顺序放在光标下)。 失败是因为未检索到工具条按钮。

我当前使用的是UIAutomation而不是CodedUI,因为我需要运行自定义程序来检索控件并在特定服务器上执行自动测试,但是实际上我的计算机上安装了Visual Studio Enterprise 2017许可证,但是第二个许可证(对于服务器)和与我一起工作的同事的第三张许可证会有点贵。

还记得程序必须动态获取鼠标下的控件的功能吗,也许有人能给我任何可以帮助我更深入研究的想法吗?

感谢和问候

使用的方法:

<div v-if="job.location">
   {{ job.location.name }}
   <!-- other location related stuff -->
</div>

1 个答案:

答案 0 :(得分:0)

通过解决方法解决。

我制作了一个递归方法,该方法在子级中更深的位置搜索包含鼠标的控件(BoundingRectangle.Contains`方法)。 这样,我可以在工具栏中找到控件。

但是 svg.selectAll("path") .data(topojson.feature(data, data.objects.counties).features) .enter() .append("path") .attr("d", path) .style("fill", function (d){ var value = geometries.d.value; if (value) { return colorScale(value); } else { return "blue"; } }); 方法不在工具条内搜索。