【问题标题】:Trouble clearing text field with .clear() *JAVA* *ANDROID*使用 .clear() *JAVA* *ANDROID* 清除文本字段时出现问题
【发布时间】:2019-11-19 14:28:54
【问题描述】:

嘿,我正在尝试通过在此处使用这两行来清除我的程序先前发送文本的文本字段:

driver.findElement(By.xpath("//android.widget.EditText[@index='3']")).click();

driver.findElement(By.xpath("//android.widget.EditText[@index='3']")).clear();

但它只清除了需要清除的 5 个字母中的 2 个。我如何使它可以一次清除所有文本?

【问题讨论】:

  • 我过去曾看过与此类似的帖子,并且提供的一种解决方案显然有效,虽然很笨重,但它是发送键退格字符直到该字段为空。

标签: java android eclipse automation appium


【解决方案1】:

如果clear() 不起作用,您可以使用javascript 执行器清除该字段。

WebElement elementField = driver.findElement(By.xpath("//android.widget.EditText[@index='3']"));

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].value = '';", elementField);

【讨论】:

  • 你自己试过吗?我看到其他帖子说 javascript 仅在 Appium 中可用于“mobile:”命令。
  • @BillHileman - 是的,它适用于 webapp 或 webview,而不适用于本机应用程序。
  • 由于定位器是用于本地应用程序而不是 web 视图,所以它不会工作。
  • 无论哪种方式,原始发帖人都没有对此答案或我对其原始帖子的其他评论提供任何反馈,显然他已经放弃了自己的问题或解决了问题,同样没有提供任何后续行动。跨度>
猜你喜欢
  • 2023-01-16
  • 1970-01-01
  • 1970-01-01
  • 2021-01-09
  • 1970-01-01
  • 2020-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多