对于使用本机创建的 iOS 应用程序,无法使用 xpath 结尾在 appium 中定位元素

Not able to locate element in appium by using xpath ends-with for iOS app created using react native

我正在自动化使用 React Native 制作的 iOS 应用程序的流程。

我可以正常通过 XPath 找到元素,但是在尝试使用 ends-with 语法时,找不到元素。

我正在使用 python 语言,下面是我正在使用的代码片段示例: self.driver.find_element_by_xpath("//XCUIElementTypeOther[ends-with(@name, 'locatorValue')]")

我试图找到解决方案或示例语法来检查我是否做错了什么,但大多数时候我只得到 Android 的示例,而且我使用的语法似乎是根据我的理解适合我。

这是一个限制,我不能对使用 react native 制作的 iOS 应用使用 ends-with xpath,还是我在这里遗漏了什么?

请求帮助我。

您可以简单地使用 iOS NSPredicate 表达式,例如, self.driver.find_element_by_ios_predicate("name ENDSWITH 'locatorValue'")

这应该适合你。

要了解有关 iOS 谓词的更多信息,请查看 here

如上评论所述iOSNsPredicateString可以这样使用

self.driver.find_element_by_ios_predicate("type =='XCUIElementTypeOther' AND name ENDSWITH[c] 'locatorValue' AND enabled==1")