【问题标题】:Locating an element on appium when resource_ids are not available当 resource_ids 不可用时在 appium 上定位元素
【发布时间】:2020-08-16 09:12:43
【问题描述】:

我正在尝试为“接受”按钮创建一个动态 XPath。但如屏幕截图所示,该按钮在属性中没有任何 resource_id 或名称,因此我无法为该元素创建有效的 XPath。

我的一些失败尝试如下:

xpath=//class[contains(text() = 'ACCEPT')]

xpath=//*[contains(@class, 'ACCEPT')]

xpath=//*[contains(text() = 'ACCEPT')]

但无论我尝试什么,脚本都无法找到该按钮。我不想使用屏幕截图中可见的静态 XPath。有什么方法可以为这个元素创建动态 XPath?

【问题讨论】:

    标签: xpath appium


    【解决方案1】:

    你可以试试这样的:

    //*[@class="android.widget.Button"][.="ACCEPT"]
    

    更安全的版本:

    //*[contains(@class,"android.widget.Button")][contains(.,"ACCEPT")]
    

    注意事项:

    //class[contains(text() = 'ACCEPT')] : incorrect. You don't look for a class element.
    //*[contains(@class, 'ACCEPT')] : incorrect. Class attribute doesn't contain "ACCEPT".
    //*[contains(text() = 'ACCEPT')] : correct.
    

    【讨论】:

      猜你喜欢
      • 2023-01-22
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 2019-06-10
      • 2017-01-20
      • 2015-03-27
      • 2018-03-15
      相关资源
      最近更新 更多