在自动化脚本中如何自动输入文本?

我们在编写自动化脚本过程中经常要用到自动输入文本,比如自动填写表格功能等。一般来说只要人工可以手动输入文本的,都可以用脚本实现自动输入文本,比如android.widget.EditText等。输入文本方法如下:

一、使用粘贴实现输入文本

使用粘贴来实现输入文本是最常用的方法,适用于绝大部分情况。使用paste函数来实现。注意,如果不成功的话,可以先点击该控件,让其获取焦点后再粘贴,type参数在'set'和'paste'都尝试下。
var ret = findView('cn:com.android.EditText');
if (ret.length > 0) {
  paste(ret.views[0], '谢谢!', {afterWait: 3000});
}
paste('cn:com.android.EditText', '谢谢!', {afterWait: 3000});

二、使用间接方式输入文本

有的时候我们会发现有少许app的android.widget.EditText无法直接使用paste函数来粘贴文本,或者输入框根本就不是EditText。此时我们可以使用先把文本复制到系统,然后再长按控件弹出菜单,点击粘贴按钮把文本自动输入到目标控件中
// 此步骤如果粘贴不成功,则系统会把粘贴的内容自动复制到系统缓存
paste('cn:android.widget.TextView', '粘贴的内容');

// 让目标控件处于焦点
click('cn:android.widget.TextView');

// 长按目标控件,弹出菜单
click('cn:android.widget.TextView', {isLongClick: true});

// 查找粘贴按键并点击
var root = findRoot('txt:粘贴');
if (null != root) {
  var ret = findView('txt:粘贴', {root: root});
  if (ret.length > 0) {
	click(ret.views[0], {click: true});
  }
}


商务合作QQ:3765323427
Copyright © 2021-2024 冰狐智能辅助. All rights reserved. 浙ICP备15043866号 《冰狐智能辅助服务协议》