使用按钮上出现的文本单击按钮

click on button using text appears on the button

我正在尝试点击按钮 ('Next'/ 'OK' / 'Cancel'),使用 Appium 中 iOS 应用按钮上显示的文本(因为这些按钮在整个应用程序中很常见),是否有任何方法可以使用按钮的标签并使用 class 链策略或 iOS 谓词字符串策略单击它。 (注意: 不使用 Xpath )

我正在寻找类似的东西,我将只传递按钮名称。

def clickOnButton("Next"):

我试过了 driver.findElementByIosNsPredicate(XCUIElementTypeWindow[标签]).click()

如果您想点击带有 Next 标签文本的 UIAButton 元素,您可以尝试以这种方式构建 iOSPredicate:

driver.findElementByIosNsPredicate("type == 'UIAButton' AND label CONTAINS 'Next'").click();

据我了解,您想 link 一个定位器中的所有元素,并在出现任何标签时执行操作。

代码在java和页面工厂:

    @iOSXCUITFindBy(iOSClassChain = "**/XCUIElementTypeStaticText[`label == \"Next\" OR label == \"OK\" OR label == \"Cancel\"`]")
    public WebElement commonBtn;

即使你不想link元素一起使用:

@iOSXCUITFindBy(iOSClassChain = "**/XCUIElementTypeStaticText[`label == \"Next\"`]")
 public WebElement nextBtn;