C# WinAppDriver-使用xpath标识Value.Value属性

C# WinAppDriver-使用xpath标识Value.Value属性,c#,wpf,winappdriver,C#,Wpf,Winappdriver,因此,对于我们的应用程序,有几个地方我们缺少自动化ID,通常只有好的唯一标识符 在一种特殊情况下,我可以使用的唯一好的标识符是由Inspect工具标识的Value.Value属性 我尝试使用基本xpath命令获取此元素 FindElementByXPath("//*[@Value.Value='" + value + "']"); 但这不起作用。。。WinAppDriver可以以任何方式使用这些属性吗?您可以这样做。如果有类名,则可以获取该类的所有控件,然后获取attribute Value

因此,对于我们的应用程序,有几个地方我们缺少自动化ID,通常只有好的唯一标识符

在一种特殊情况下,我可以使用的唯一好的标识符是由Inspect工具标识的Value.Value属性

我尝试使用基本xpath命令获取此元素

FindElementByXPath("//*[@Value.Value='" + value + "']");

但这不起作用。。。WinAppDriver可以以任何方式使用这些属性吗?

您可以这样做。如果有类名,则可以获取该类的所有控件,然后获取attribute Value.Vaue,并在找到它后执行操作

代码看起来像这样

var elements = WindowsDriver.FindElementsByClassName("<YourClassName>");
    foreach (var element in elements)
        {
                    if (element.GetAttribute("Value.Value") == "Notes")
                    {
                        //Do your stuff
                        //return the element
                    }
                }
var elements=WindowsDriver.FindElementsByClassName(“”);
foreach(元素中的var元素)
{
if(element.GetAttribute(“Value.Value”)=“Notes”)
{
//做你的事
//返回元素
}
}

XPath查询xml。此xml的源是驱动程序的
PageSource
属性值。您应该查看节点“Notes”在哪个节点下,在那里可以找到哪些属性,并相应地构造XPath表达式。如果您无法成功地使用XPath表达式,我建议您将xml添加到问题中,以便帮助调试。谢谢!!这就是我一直在寻找的解决方案