文本输入与剪贴板——键盘输入、清空、粘贴、批量输入
基本输入
setText() — 给当前焦点输入框设置文本
// 先点击输入框让它获得焦点
id("et_phone").click();
sleep(300);
setText("13800138000");
setText 会清空输入框原有内容再填入。适合用户名、手机号、密码等字段。
input() — 在当前焦点处逐字输入
input("你好世界");
input 是模拟键盘逐个字符敲入,不会清空原有内容。适合追加文本。
清空输入框
// 方法一:用 setText 设为空字符串
setText("");
// 方法二:模拟长按全选 + 删除
keyevent("KEYCODE_MOVE_END");
sleep(50);
for (var i = 0; i < 20; i++) {
keyevent("KEYCODE_DEL");
}
剪贴板操作
// 读取剪贴板
var content = clipboard.getText();
toast("剪贴板内容:" + content);
// 写入剪贴板
clipboard.set("Hello Auto.js");
写入后手动长按输入框选择粘贴即可,或者配合:
clipboard.set("批量内容");
paste(); // 等价于长按粘贴
批量输入场景
一次性填完整个表单
var fields = {
et_name: "张三",
et_phone: "13800138000",
et_city: "北京",
et_bio: "自动填写的简介"
};
for (var id in fields) {
id(id).click();
sleep(200);
setText(fields[id]);
sleep(300);
}
长文本粘贴(推荐方式)
// 长文本用剪贴板更稳定,模拟逐字输入可能丢字
clipboard.set(longText);
paste();
中文输入注意事项
- 中文需要输入法支持,Auto.js 本身不处理编码
- 如果 setText 不生效,确认输入框确实获得了焦点(点一下输入框再 setText)
- 某些带验证码的输入框会禁用 setText,这时只能用 input() 逐字模拟