let inputField = className("android.widget.EditText").findOne(2000);
// let inputField = className("android.widget.EditText").text("请填写图形验证码").findOne(2000);
if (inputField) {
sleep(1000);
// inputField.click();
sleep(1000);
inputField.setText(code)==false
sleep(2000);
if(inputField.setText(code)==false){log("输入失败");}
inputField.setText("好好");
log("已输入验证码");
}inputField.setText("好好"); 输入文本没有生效
回答
你的代码中存在一个语法错误,导致 inputField.setText("好好") 没有生效。在 JavaScript 中,赋值操作符 = 不能用于判断,应该使用比较操作符 == 或 ===。此外,inputField.setText(code)==false 这一行的写法是错误的,应该将 ==false 改为 === false 或者直接使用 if (!inputField.setText(code))。
以下是修正后的代码:
// 文档地址 https://docs.hamibot.com/
let inputField = className("android.widget.EditText").findOne(2000);
if (inputField) {
sleep(1000);
// inputField.click();
sleep(1000);
if (!inputField.setText(code)) {
log("输入失败");
}
sleep(2000);
inputField.setText("好好");
log("已输入验证码");
}
说明:
if (!inputField.setText(code)):setText方法返回一个布尔值,表示是否成功设置文本。如果返回false,说明设置失败。inputField.setText("好好"):这行代码会尝试将文本设置为 "好好",如果仍然没有生效,可能是由于控件不可编辑或其他原因,建议检查控件是否具有editable属性。
如果问题仍然存在,可以尝试使用 inputField.click() 先点击输入框,再调用 setText 方法。
ℹ️ 本回答由 AI 生成,内容仅供参考