使用Appium和WinAppDriver获取元素的所有可用属性

问题描述

我正在努力获取element的所有可用属性。我会解释一下。 我正在使用WinAppDriver + Appium + Python创建自动化。我想以某种方式加载一个特定元素的所有可用属性。例如,属性Legacy | AccessiblePattern.Value。 当我使用appium方法driver.find_element_by_name('DataGridView').get_attribute('Legacy|AccessiblePattern.Value')时,它将返回None,这意味着找到了元素,但该属性不存在。 但是,当我使用method driver.find_element_by_name('DataGridView').get_attribute('LegacyValue')时,它将按预期返回属性内容。我的问题是,如何才能获得所有可用的属性,或者至少在哪里可以找到Inspector.exe中的可见属性名称链接 ('Legacy | AccessiblePattern.Value') 实际名称,可在Python中用于与元素('LegacyValue')

一起使用

如果您很烦心,我是如何找到该元素属性的准确名称的,所以我很幸运地猜到了。我刚刚发现WinAppDriver的第46行有一个测试,内容为:Assert.IsTrue(element.GetAttribute("LegacyName").StartsWith("Alarm")); // Shows as Legacy|Accessible.Name in inspect.exe and when I used 'LegacyValue',it WORKED!

https://github.com/microsoft/WinAppDriver/blob/master/Tests/WebDriverAPI/ElementAttribute.cs#L46 但是这种猜测要花很多时间。有人可以帮我吗?

感谢米洛斯拉夫

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...