Appium iOS 的 app 中有 UIAPickerWheel,但无法使用 send_keys 更改第二,三的值,求大神帮忙!!

Yaxun · 2016年06月30日 · 最后由 sun 回复于 2016年07月04日 · 1573 次阅读

iOS 的 app 中有 UIAPickerWheel,这个 picker wheel 包含年月日三个转轮,使用下述的代码,可以改变年,但是月日不行啊。。。😂

更改年

#driver.find_element_by_xpath("//UIAApplication[1]/UIAWindow[1]/UIAPicker[1]/UIAPickerWheel[1]").send_keys("2017")

更改月份

#driver.find_element_by_xpath("//UIAApplication[1]/UIAWindow[1]/UIAPicker[1]/UIAPickerWheel[2]").send_keys("4")

更改日期

#driver.find_element_by_xpath("//UIAApplication[1]/UIAWindow[1]/UIAPicker[1]/UIAPickerWheel[3]").send_keys("30")
这样写的话,只能执行第一行更改年,到后两行就没动静了。这是为啥啊。。谁能给个方法让我年月日都改一下😷

共收到 4 条回复 时间 点赞

能给个运行日志和控件树信息么。。。

完全不知道你的 app 是啥情况。。。

好比你用相同的 xpath 去定为
1 改成 ClassName
List we=(List) driver.findElementsByClassName(object);
we.get(0).sendKeys("年");
we.get(1).sendKeys("月");
we.get(2).sendKeys("日");
2.
target.frontMostApp().mainWindow().tableViews()[0].tapWithOptions({tapOffset:{x:0.54, y:0.20}});
target.frontMostApp().mainWindow().pickers()[0].wheels()["2016 年, 1/20"].dragInsideWithOptions({startOffset:{x:0.38, y:0.63}, endOffset:{x:0.30, y:0.43}}); 填写你对应的日期

错误日志帖出来,有可能是路径变了,把页面元素打印出来,对比一下

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册