【问题标题】:How to read the value from a TreeItem / DataItem using Windows Application Driver / C#?如何使用 Windows 应用程序驱动程序/C# 从 TreeItem/DataItem 读取值?
【发布时间】:2020-04-10 22:07:40
【问题描述】:

我无法访问 DataItem 中的文本。 有没有办法使用windows application driver 为 TreeItem 中的每个节点获取文本 ["Repair Exceptions(0)" etc]?

xml

<Group>
    <TreeItem Name="Node0">
        <DataItem Name="Item row 0"/>
    </TreeItem>
    <TreeItem Name="Node1">
        <DataItem Name="Item row 1"/>
    </TreeItem>
</Group>

数据在屏幕上的样子

进一步调查


使用 Microsoft Inspect 工具提供的详细信息是我正在寻找的价值。

路径: C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\inspect.exe

ControlType: UIA_DataItemControlTypeId

【问题讨论】:

  • 不确定您的期望。如果你在你的例子中遍历xml,你怎么可能得到“修复异常”?
  • @JonasH xml 不显示屏幕上显示的内容。
  • 这是我的观点。将xml文件中的数据转换为屏幕上显示的东西的逻辑应该是什么?简单地计算异常/警告的 xml 行?包含异常/警告的 xml 文件是什么样的?
  • 我也听不懂你的解释。对不起

标签: c# dataitem windows-application-driver


【解决方案1】:

我能够使用 element.Text 将其拉出。

var elements = session.FindElements(By.XPath($"//DataItem"));

foreach(var dataItem in elements)
{
    Console.WriteLine(dataItem.Text);
}

“修复异常 (0)”
"输入异常 (0)"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2023-04-01
    • 2014-07-03
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多