我正在将Appium用于Android
以下用于点击元素的方法
driver.findElement(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).click();
但是我正在尝试检查屏幕上是否有元素,并且尝试了以下操作
if (driver.findElement(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).isDisplayed()) {
System.out.println("FOUND");
} else {
System.out.println("NOT FOUND!");
}
但是它返回一个异常提示
INFO: HTTP Status: '405' -> incorrect JSON status mapping for 'unknown error' (500 expected)
org.openqa.selenium.WebDriverException: Method is not implemented
如何检查屏幕上是否有元素?
答案 0 :(得分:1)
您可以尝试一下,希望对您有帮助
//如果找到了元素,请根据需要进行操作
if (driver.findElements(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).size() > 0) {
System.out.println("FOUND");
} else {
System.out.println("NOT FOUND!");
}
答案 1 :(得分:0)
您可以在try catch块周围加上代码。
public boolean isElementDisplayed(){
try{
return driver.findElement(By.xpath("//*[@resource-id='com.app.android:id/prelogin_signup']")).isDisplayed();
}
}catch(Exception e){
//System.out.println(e);
return false;
}
}
您还可以使通用函数来检查元素是否显示。
public boolean isElementDisplayed(MobileElement element){
try{
return element.isDisplayed();
}
}catch(Exception e){
//System.out.println(e);
return false;
}
}