在 Android 应用程序中使用 Appium 定位元素后如何水平滑动?
How can i swipe horizontally after locating an element using Appium in an Android app?
我使用了以下代码,但它不起作用:
int startX = driver.findElement(By.xpath("//*[@class='android.widget.FrameLayout' and @index='1']")).getLocation.getX();
int startY = driver.findElement(By.xpath("//*[@class='android.widget.FrameLayout' and @index='1']")).getLocation.getY();
我得到的错误是:
getLocation cannot be resolved or is not a field
首先,您应该尝试获取位置 getLocation()
而不是:.getLocation.getY()
.
其次,您可以使用以下方法在所有方向上实现 swipe/scroll:
TouchAction action = new TouchAction(driver);
int startY = element1.getLocation().getY() + (element1.getSize().getHeight() / 2);
int startX = element1.getLocation().getX() + (element1.getSize().getWidth() / 2);
int endX = element2.getLocation().getX() + (element2.getSize().getWidth() / 2);
int endY = element2.getLocation().getY() + (element2.getSize().getHeight() / 2);
action.press(startX, startY).waitAction(2000).moveTo(endX, endY).release().perform();
public void horizontalScroll()
{
size=driver.manage().window().getSize();
int x_start=(int)(size.width*0.60);
int x_end=(int)(size.width*0.30);
int y=130;
driver.swipe(x_start,y,x_end,y,4000);
}
理解水平滚动的最佳教程 - CLICK HERE
我使用了以下代码,但它不起作用:
int startX = driver.findElement(By.xpath("//*[@class='android.widget.FrameLayout' and @index='1']")).getLocation.getX();
int startY = driver.findElement(By.xpath("//*[@class='android.widget.FrameLayout' and @index='1']")).getLocation.getY();
我得到的错误是:
getLocation cannot be resolved or is not a field
首先,您应该尝试获取位置 getLocation()
而不是:.getLocation.getY()
.
其次,您可以使用以下方法在所有方向上实现 swipe/scroll:
TouchAction action = new TouchAction(driver);
int startY = element1.getLocation().getY() + (element1.getSize().getHeight() / 2);
int startX = element1.getLocation().getX() + (element1.getSize().getWidth() / 2);
int endX = element2.getLocation().getX() + (element2.getSize().getWidth() / 2);
int endY = element2.getLocation().getY() + (element2.getSize().getHeight() / 2);
action.press(startX, startY).waitAction(2000).moveTo(endX, endY).release().perform();
public void horizontalScroll()
{
size=driver.manage().window().getSize();
int x_start=(int)(size.width*0.60);
int x_end=(int)(size.width*0.30);
int y=130;
driver.swipe(x_start,y,x_end,y,4000);
}
理解水平滚动的最佳教程 - CLICK HERE