我正在尝试使用appium更改datepicker元素中的日期。我不能使用 findElement(By.id(“id”); ,因为我在版本4.2.2(API 17)中运行并且就我而言知道这个版本不支持By.id。使用selendroid我可以改变这样的日期:
driver.findElement(By.id("MONTH")).sendKeys("FEB");
在我的appium代码中,我尝试在默认日期访问它。例如,我试图像这样改变月份:
driver.findElement(By.name("Dec")).sendKeys("Jan");
似乎虽然它找到名称Dec但它无法发送密钥Jan。
以下是故障跟踪的错误:
org.openqa.selenium.NoSuchElementException:使用给定的搜索参数无法在页面上找到元素。 (警告:服务器未提供任何堆栈跟踪信息)
关于如何更改它的任何想法,一般情况下,如果我可以在这个API版本中以某种方式使用 findElement(By.id(“id”); ? 谢谢!
答案 0 :(得分:1)
我没有使用 By.name ,而是使用 By.className 来更改月份一天和一年。这是我的代码:
List<WebElement> date = driver.findElements(By.className("android.widget.NumberPicker"));
date.get(0).sendKeys("Apr");
date.get(1).sendKeys("17");
date.get(2).sendKeys("1972");