我试图点击相同的屏幕坐标N次,但只有第一次点击成功。所有其他水龙头似乎没有正确注册。这是为了在不滑动的情况下逐个更改“滚轮”上的值。
这是我正在尝试的一些示例代码。我已经尝试了很多东西,但都有相同的结果。
private void tapTouchWheelDown(AppiumDriver driver, org.openqa.selenium.Rectangle dimensions, int numberOfTaps) {
int xCoordinate = dimensions.x + (int)(dimensions.width * 0.5);
int yCoordinate = dimensions.y + (int)(dimensions.height * 0.8);
PointOption pointOption = new PointOption().withCoordinates(xCoordinate, yCoordinate);
WaitOptions waitOptions = new WaitOptions().withDuration(Duration.ofMillis(1000));
for (int i = 0; i < numberOfTaps; i++) {
new TouchAction(driver)
.tap(pointOption)
.waitAction(waitOptions)
.perform();
System.out.println(i);
}
}
我尝试过使用Thread.sleeps不同的时间(250ms到5000ms)。
我尝试过press()和release()而不是tap()。
我尝试在循环之前创建完整的TouchAction对象,然后在循环中运行perform()。
我已经尝试在每次循环中在TouchAction序列中创建PointOption和WaitOptions,以防有多个有趣的业务继续进行多次访问这些对象。
任何人都知道如何做到这一点?是否存在阻止此问题的错误?
由于