如何使用 Windows Application Driver / C# 从 TreeItem / DataItem 中读取值?
How to read the value from a TreeItem / DataItem using Windows Application Driver / C#?
我无法访问 DataItem 中的文本。
有没有办法使用 windows application driver 为 TreeItem 中的每个节点获取文本 ["Repair Exceptions(0)" 等]?
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\bin.0.18362.0\x64\inspect.exe
控件类型: UIA_DataItemControlTypeId
我能够使用 element.Text.
将其拉出
var elements = session.FindElements(By.XPath($"//DataItem"));
foreach(var dataItem in elements)
{
Console.WriteLine(dataItem.Text);
}
"Repair Exceptions (0)"
"Input Exceptions (0)"
我无法访问 DataItem 中的文本。 有没有办法使用 windows application driver 为 TreeItem 中的每个节点获取文本 ["Repair Exceptions(0)" 等]?
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\bin.0.18362.0\x64\inspect.exe
控件类型: UIA_DataItemControlTypeId
我能够使用 element.Text.
将其拉出var elements = session.FindElements(By.XPath($"//DataItem"));
foreach(var dataItem in elements)
{
Console.WriteLine(dataItem.Text);
}
"Repair Exceptions (0)"
"Input Exceptions (0)"