我正在尝试使用
获取元素的content-desc属性@driver.find_element(:xpath, "//android.widget.TextView[@text='Automation']").attribute("content-desc")
但是收到此错误
[debug] [MJSONWP]用args调用AppiumDriver.getAttribute(): [" xpath"," 19"," f0ea41e6-dfee-4b9b-b756-0b204863d0d4"]
[debug] [AndroidBootstrap]向android发送命令: {" CMD":"动作""动作":"元素:的getAttribute"" PARAMS":{& #34;属性":"内容递减"" elementId":" 19"}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug]从客户端获取数据: {" CMD":"动作""动作":"元素:的getAttribute"" PARAMS":{& #34;属性":"内容递减"" elementId":" 19"}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug]获得类型ACTION的命令
[AndroidBootstrap] [BOOTSTRAP LOG] [debug]得到命令动作: 的getAttribute [AndroidBootstrap] [BOOTSTRAP LOG] [debug]返回 结果:{" status":7," value":"此元素没有 '内容递减'属性"}
我已经通过appium UI检查了content-desc属性是否存在,我的代码有什么问题吗?它有替代品吗?
答案 0 :(得分:0)
在python中(我猜Ruby会类似)我这样做:
Python代码
webElement = driver.find_element(By.XPATH, "//android.widget.TextView[@text='Automation']")
content-desc = webElement.get_attribute("content-desc")
print(content-desc)
此webElement.get_attribute(attr)适用于@ text,@ check,@ enable,@ select,@ name,@ value ......
但无论如何......你发布了这条消息未找到元素的地方:
[AndroidBootstrap] [BOOTSTRAP LOG] [debug]返回结果:{“status”:7,“value”:“此元素没有'content-desc'属性”}
所以也许你的XPATH不正确,你选择了一个错误的元素...... 如果这对您不起作用,您必须发布Appium Inspector的图像才能帮助您
答案 1 :(得分:0)
尝试使用getAttribute(“ contentDescription”)