Java 如何使用循环滑动直到在appium中找到元素
我可以滑动直到元素被找到,但是我得到的是NoTouchElementException 我已经编写了以下代码Java 如何使用循环滑动直到在appium中找到元素,java,android,appium,appium-android,Java,Android,Appium,Appium Android,我可以滑动直到元素被找到,但是我得到的是NoTouchElementException 我已经编写了以下代码 int startX=(int) (dimension.width*0.5); int startY=(int) (dimension.height*0.8); int endX=(int) (dimension.width*0.2); int endY=(int) (dimension.width*0.2); Touc
int startX=(int) (dimension.width*0.5);
int startY=(int) (dimension.height*0.8);
int endX=(int) (dimension.width*0.2);
int endY=(int) (dimension.width*0.2);
TouchAction touch=new TouchAction(driver);
boolean b=false;
while (true) {
touch.press(PointOption.point(startX, startY)).waitAction(WaitOptions.waitOptions(Duration.ofSeconds(2)))
.moveTo(PointOption.point(endX, endY)).release().perform();
Thread.sleep(5000);
try {
b=driver.findElement(By.xpath("//android.widget.TextView[@content-desc='Sweep']")).isDisplayed();
if(b) {
b=true;
break;
}
else {
continue;
}
}catch (Exception ex) {
ex.printStackTrace();
}
}
driver.findElement(By.xpath("//android.widget.TextView[@content-desc='Sweep']")).click();
请帮忙。谢谢使用基于UIAutomator的定位器会更可靠,因为您显然有一个可滚动的视图:
MobileElement element = (MobileElement) driver.findElement(MobileBy.AndroidUIAutomator(
"new UiScrollable(new UiSelector().scrollable(true))" +
".scrollIntoView(new UiSelector().textContains(\"Sweep\"))"));
它不仅会滚动到元素,而且会确保它位于查看端口区域内,并且能够进行交互。我知道这种方法,但我正在寻找其他方法。我使用了与我发布的代码类似的代码,用于滚动web应用程序,直到找到要查找的元素