【发布时间】:2018-09-19 20:34:56
【问题描述】:
我正在使用 Java 使用 Appium 自动化一个 android 应用程序。我的情况是,我需要单击按钮 1 或按钮 2,以存在者为准
Appium 错误日志:[debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] 未能定位元素。清除辅助功能缓存并重试。 [debug] [AndroidBootstrap] [BOOTSTRAP LOG] [debug] 发现 '//android.widget.ImageButton[@resource-id='net.ilius.android.meetic:id/profileMailPremiumButton']' 使用 'XPATH' 和 contextId: '' multiple: false
if (driver.findElementByXPath("//android.widget.ImageButton[@resource-id='net.ilius.android.meetic:id/profileMailPremiumButton']")
.isDisplayed()) {
driver.findElementByXPath("//android.widget.ImageButton[@resource-id='net.ilius.android.meetic:id/profileMailPremiumButton']")
.click();
} else {
driver.findElementById("net.ilius.android.meetic:id/profileMailButton").click();
}
【问题讨论】:
-
请创建一个minimal reproducible example。特别是包括完整的错误信息和 HTML 的相关部分。
-
@sandy : 使用 findElements 和 isEmpty 方法检查元素是否存在
-
Locator Strategy
findElementByXPath("//android.widget.ImageButton[@resource-id='net.ilius.android.meetic:id/profileMailPremiumButton']")和findElementById("net.ilius.android.meetic:id/profileMailPremiumButton")不是指同一个元素吗? -
@DebanjanB 已编辑。对此感到抱歉
标签: java selenium-webdriver appium