【问题标题】:Python: Android App Automation : Unable to select from Number pickerPython:Android App Automation:无法从数字选择器中选择
【发布时间】:2018-11-01 00:56:26
【问题描述】:

我正在使用 Appium 和 Python 进行 Android 应用自动化, 我被困在必须从 Numberpicker 中选择值的地方。 我试过 send_keys,点击,滑动但没有运气

enter image description here

【问题讨论】:

  • 首先选择数字轮的 xpath 并给出索引,因为这里显示了 2 个轮子,因此为了选择第一个轮子,我使用了 index=0.eg driver.findElement(By.xpath("//android. widget.NumberPicker[@index='0']")).sendKeys("0 年");
  • @SnehaShinde 嗨,sneha 感谢您的帮助。但它不起作用。因为它具有相同的月份和年份的索引值。你能帮我解决如何在其中找到 xpath 吗?
  • 但是我可以看到索引是 0 代表年,1 代表月
  • @SnehaShinde 两者的索引都不相同..您要的是 Numberpicker 还是什么?另外,当我问我的开发人员时,他说编辑文本在这里不起作用,因为这不是可编辑的
  • List date = driver.findElements(By.className("android.widget.EditText")); date.get(1).sendKeys("1 年");

标签: android python automation appium numberpicker


【解决方案1】:

这是我的答案。最近工作需要它,所以我从网上收集信息并提出了这个解决方案。

只是

  1. 选择元素
  2. 点击元素使其被选中
  3. put 删除键次
  4. 设定值
month="Sep"
month_ui = driver.find_element_by_xpath("//android.widget.NumberPicker[1]//android.widget.EditText")   # get month
month_ui.click()                                        # select origin month txt
month_ori=str(month_ui.get_attribute("text"))           # get origin month txt
for i in range(len(month_ori)):                         # delete-key click times
    driver.press_keycode(67)
driver.set_value(month_ui, month)                       # set value

【讨论】:

    猜你喜欢
    • 2014-04-03
    • 1970-01-01
    • 2014-11-12
    • 2021-12-07
    • 1970-01-01
    • 2021-05-20
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多