gpt4 book ai didi

java - appium 中的滚动功能可识别列表框/下拉列表中的特定对象

转载 作者:行者123 更新时间:2023-12-02 03:35:09 30 4
gpt4 key购买 nike

我有一个列表框,其中列出了印度的所有州,我需要使用滚动选择特定的州。

尝试过触摸操作尝试过Java脚本执行器

JavascriptExecutor je = (JavascriptExecutor) driver;
AndroidElement sct = driver.findElement(By.xpath("//android.view.View[@text='Karnataka']"));
je.executeScript("arguments[0].scrollIntoView(true);",sct);

最佳答案

你的方法有点错误,你不能使用Element.scrollIntoView当谈到Appium时测试,因为您仅限于 Mobile Commands 的特定列表Appium 可以理解。

您需要重构代码才能使用mobile:shell command ,类似:

Dimension windowSize = driver.manage().window().getSize();
Map<String, Object> args = new HashMap<>();
args.put("command", "input");
args.put("args", Lists.newArrayList("swipe", windowSize.width / 2,
windowSize.height / 2, windowSize.width / 2, windowSize.height));
while (driver.findElements(By.xpath("//android.view.View[@text='Karnataka']")).size() == 0) {
driver.executeScript("mobile: shell", args);
}
driver.findElement(By.xpath("//android.view.View[@text='Karnataka']")).click();

或者您可以使用SwipeWhileNotFound命令可通过SeeTest Appium Extensions获得

seetest.swipeWhileNotFound("Up", 0, 2000, "NATIVE", "xpath=//android.view.View[@text='Karnataka']", 0, 1000, 5, true)

关于java - appium 中的滚动功能可识别列表框/下拉列表中的特定对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56865592/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com