java - 如何使用 Appium 更改日期选择器中的日期

标签 java android datepicker appium

我正在尝试使用 appium 更改日期选择器元素中的日期。我无法使用 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,但它无法发送 key Jan。

这是失败跟踪中的错误:

org.openqa.selenium.NoSuchElementException:使用给定的搜索参数无法在页面上找到元素。 (警告:服务器未提供任何堆栈跟踪信息)

关于如何更改它的任何想法,以及一般情况下,如果我可以以某种方式使用此 API 版本中的 findElement(By.id("id");? 谢谢!!

最佳答案

我没有使用 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"); 

关于java - 如何使用 Appium 更改日期选择器中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27706492/

相关文章:

java - com.fasterxml.jackson.core.Version 的用途

安卓 SQLite : attempt to re-open an already-closed object

java - 在 android 中更新 sqlite 数据库的首选方法

javascript - Twitter Bootstrap 日期选择器 : how to enable only specific daterange

Javascript 设置接下来 2 天的日期

java - 解密网页cookie

java - Eclipse 中的数据 GridView

java - Joda Time,同时解析hours和clockhours

android - 从 CustomView 中打开 DialogFragment

android - DatePickerDialog 显示例如M 加整数代替月份名称