我使用Selenium登录了一个注册应用程序,我必须从国家/地区列表中选择一个国家/地区。如何选择特定国家/地区,例如"印度"来自"国家"使用appium命令下拉?
我尝试使用:
driver.scrollToExact("India").click()
但它不起作用。
答案 0 :(得分:0)
您可以向下滚动,直到找到元素:
public void scrollDownAndClickIfElementPresent(String name) {
for (int i = 0; i < 10; i++) {
if (isElementPresent(name)) {
tapOnElement(name);
break;
}
else{
scrollDown();
}
}
public void scrollDown() {
Dimension size = driver.manage().window().getSize();
int x = size.width / 2;
int starty = (int) (size.height * 0.60);
int endy = (int) (size.height * 0.10);
driver.swipe(x, starty, x, endy, 2000);
}
public boolean isElementPresent() {
try {
driver.findElementByName("india");
return true;
} catch (Exception e) {
return false;
}
}
}
答案 1 :(得分:0)
更好的方法是使用XPath查找下拉列表的位置,然后再次找到合适的XPath来定位您要选择的元素。如果您有关于如何查找XPath的任何说明,请告诉我
答案 2 :(得分:0)
您可以点击微调器然后从下拉列表中找到国家“印度”。 试试这个
driver.findElement(By.id("xpath_of_spinner")).click();
driver.findElement(By.name("india")).click();
答案 3 :(得分:0)
冷杉写下方法
public void **scrollToExactElement**(String str) {
((AndroidDriver<MobileElement>) driver).findElementByAndroidUIAutomator(
"new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().text(\""
+ str + "\").instance(0))").click();
}
//这将滚动您的列表 的 driver.switchTo(); 强>
现在写 的 scrollToExactElement( “印度”)强>