如何通过 Swift 中的部分标签文本搜索来定位 XCUIElement?
How can I locate an XCUIElement searching by partial label text in Swift?
我一直在使用这种方法定位 XCUIElements:
app.staticTexts["Full Label Text"]
但是如果我只知道部分标签文本怎么办?标签文本的一部分是动态生成的(例如 "Item #1"、"Item #2" 等)所以我想通过查找包含部分文本的元素来搜索它(例如通过 [=18 搜索=]).在 Swift?
中有什么方法可以做到这一点
您可以找到带有谓词的元素。使用 XCUIElementQuery
中的 containing(_ predicate: NSPredicate) -> XCUIElementQuery
方法。
let predicate = NSPredicate(format: "label CONTAINS[c] 'Item'")
let labels = XCUIApplication().staticTexts.containing(predicate)
我一直在使用这种方法定位 XCUIElements:
app.staticTexts["Full Label Text"]
但是如果我只知道部分标签文本怎么办?标签文本的一部分是动态生成的(例如 "Item #1"、"Item #2" 等)所以我想通过查找包含部分文本的元素来搜索它(例如通过 [=18 搜索=]).在 Swift?
中有什么方法可以做到这一点您可以找到带有谓词的元素。使用 XCUIElementQuery
中的 containing(_ predicate: NSPredicate) -> XCUIElementQuery
方法。
let predicate = NSPredicate(format: "label CONTAINS[c] 'Item'")
let labels = XCUIApplication().staticTexts.containing(predicate)