我需要从左向右滑动一个元素。如何实现。
我尝试过:
new TouchAction(driver).press(214, 1219).moveTo(854,1199).release().perform();
但运气不佳。谁能帮我从左向右滑动这个按钮?
最佳答案
对 x 和 y 位置进行硬编码并不是最好的主意,但如果您想水平滑动,则 y 点应该相同。在您的示例中,它们相差 20 像素。不过,它可能不会影响结果。
这是我的滑动/滚动方法:
/**
* This method scrolls based upon the passed parameters
* @author Bill Hileman
* @param int startx - the starting x position
* @param int starty - the starting y position
* @param int endx - the ending x position
* @param int endy - the ending y position
*/
@SuppressWarnings("rawtypes")
public void scroll(int startx, int starty, int endx, int endy) {
TouchAction touchAction = new TouchAction(driver);
touchAction.longPress(PointOption.point(startx, starty))
.waitAction(WaitOptions.waitOptions(ofSeconds(1)))
.moveTo(PointOption.point(endx, endy))
.release()
.perform();
}
现在我有其他方法使用屏幕坐标来确定 x 和 y 应该是什么,然后调用滚动方法,如下所示:
/**
* This method does a swipe right
* @author Bill Hileman
*/
public void swipeRight() {
//The viewing size of the device
Dimension size = driver.manage().window().getSize();
//Starting x location set to 5% of the width (near left)
int startx = (int) (size.width * 0.05);
//Ending x location set to 95% of the width (near right)
int endx = (int) (size.width * 0.95);
//y position set to mid-screen vertically
int starty = size.height / 2;
scroll(startx, starty, endx, starty);
}
关于java - 如何在 Android appium 中水平滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55183399/