无法在带有搜索列表的下拉列表中找到 Appium By.name 中的元素
Not able to find Element in Appium By.name in dropdown with search list
我是 Appium 的新手,想找到元素 By.name,同时我正在从列表中搜索,以便获得搜索文本匹配的结果,但它没有点击精确名称匹配元素,即使它不是单击列表中的任何元素,可能是它试图单击键入的文本。不知道如何应用多个条件来查找 element.So 我们该怎么做?附上与此相关的图片:
1)图片:1
2)图片:2
driver.findElement(By.name("Biscuit")).click();
我们也可以使用 xpath 来应用更多条件来查找元素,即使在 appium 中也是如此,对于上述情况,使用了第二张图像和应用条件作为
driver.findElement(By.xpath("//android.widget.TextView[@text='Biscuit']")).click();
所以我们用两个条件来实现
1.className="android.widget.TextView" 和文本='Biscuit'
注意 clickable=false 仍然没关系,它点击 clickable Parent
产品列表中的所有元素似乎都具有相同的 ID。因此,您可以找到产品列表中的所有元素,然后使用 for 循环遍历每个元素。
List<WebElement> productList = driver.findElements(By.id("producttext"));
for(WebElement product : productList) {
String productText = product.getText();
if(productText.equalsIgnoreCase("Biscuit")) {
product.click();
}
}
以上代码将存储当前屏幕上显示的所有 ID 为 "producttext" 的项目。 for 循环将遍历每个元素。我添加了一个检查,当它找到带有文本 "Biscuit" 的元素时,它将单击该元素。您可以根据您的测试添加更多检查。
我是 Appium 的新手,想找到元素 By.name,同时我正在从列表中搜索,以便获得搜索文本匹配的结果,但它没有点击精确名称匹配元素,即使它不是单击列表中的任何元素,可能是它试图单击键入的文本。不知道如何应用多个条件来查找 element.So 我们该怎么做?附上与此相关的图片:
1)图片:1
2)图片:2
driver.findElement(By.name("Biscuit")).click();
我们也可以使用 xpath 来应用更多条件来查找元素,即使在 appium 中也是如此,对于上述情况,使用了第二张图像和应用条件作为
driver.findElement(By.xpath("//android.widget.TextView[@text='Biscuit']")).click();
所以我们用两个条件来实现
1.className="android.widget.TextView" 和文本='Biscuit'
注意 clickable=false 仍然没关系,它点击 clickable Parent
产品列表中的所有元素似乎都具有相同的 ID。因此,您可以找到产品列表中的所有元素,然后使用 for 循环遍历每个元素。
List<WebElement> productList = driver.findElements(By.id("producttext"));
for(WebElement product : productList) {
String productText = product.getText();
if(productText.equalsIgnoreCase("Biscuit")) {
product.click();
}
}
以上代码将存储当前屏幕上显示的所有 ID 为 "producttext" 的项目。 for 循环将遍历每个元素。我添加了一个检查,当它找到带有文本 "Biscuit" 的元素时,它将单击该元素。您可以根据您的测试添加更多检查。