7

如何使用 shell 命令清除焦点编辑文本。

我试过了

adb shell input keyevent KEYCODE_CLEAR // Not worked 
adb shell input keyevent KEYCODE_DEL // Delete only one char
adb shell input keyevent KEYCODE_FORWARD_DEL // Not worked

有了这个,我最多只能删除一个字符,有什么方法可以删除/清除重点编辑文本。

4

3 回答 3

8

这对我有用:

function clear_input() {
    adb shell input keyevent KEYCODE_MOVE_END
    adb shell input keyevent --longpress $(printf 'KEYCODE_DEL %.0s' {1..250})
}

然后:

clear_input
于 2016-04-06T13:54:49.463 回答
2

如果你使用 uiautomator( https://github.com/xiaocong/uiautomator ),你可以这样做:

  1. 点击 EditText 小部件以获得焦点,然后

  2. 用于device(focused=True).clear_text()清除视图,或 device(focused=True).set_text("new text")设置新文本。

于 2015-12-11T02:39:35.980 回答
1

到目前为止,我发现的唯一方法是获取正确的坐标input swipe x y x y duration来模拟长按。这将突出显示 EditText 字段中的所有文本。然后,您可以发送要替换那里的密钥。

我只是希望这adb shell input keyevent KEYCODE_CLEAR会清除该字段中的所有文本。如果有人能找到更好的方法,那会让事情变得容易得多。

于 2015-11-27T17:23:51.097 回答