Auto.js文本框自动文本填充
文章目录
- Auto.js文本框自动文本填充
- 使用环境
- 一、失败记录
- 二、解决方案一
- 三、解决方案二
- 都不行怎么办
- 1.
- 2.
使用环境
我老懒癌了,每天连打卡都不想打。你要说让电子产品奴役我那都可以。但是打卡这个事纯纯就是人故意给你找麻烦。
一、失败记录
在我卡住那空档我是去查过了百度和官方文档的,有input()和setText()这两种方法来设置文本,我全试了,当时一个都不能用.
二、解决方案一
其实都能填的,方法没有问题,是我在用的时候出现了操作问题.
先是input()这个方法,这个填不上一般就是因为你没有成功获取页面控件.
这里我就只放正确的填字方法了,控件获取相关请见我的另一篇文章Auto.js属性缺少时获取控件
object.setText("我是文本a");
//仅为object对应的控件设置文本;
setText("我是文本a");
//为所有可输入控件设置文本;
// setText会替换文本,类似innerHTML效果;
//寻找第?个文本框置入字符"String",但是我尝试后无效;
setText ([i], "String");setText("String") // 置入文本"String";
三、解决方案二
obj.input(),我一开始就是用object.input()来对控件文本进行设置的,但是报错了:
说在object这个对象里找不到"input"方法.
就是这样了,不敢说能不能用.
object.input("xxx");
都不行怎么办
如果都不能用怎么办呢?
使用别的方法来作为替代,我觉得也很不错,大家可以考虑一下:
1.
在执行到需要输入的步骤时,我先使用setClip()来设置剪贴板内容(如果有动态需求就给一个变量),然后模拟触发了文本框,如此一来输入框上部会出现当前剪贴板内容,进行一次模拟点击即可。
至于你担心的跨型号适配问题,autoJs有方法专门协调脚本和不同屏幕的适配的,你可以在使用这个方法的同时搭配屏幕适配解决方案来解决问题,如果你不打算传播你的脚本仅仅是在自己的设备上使用的话,那甚至都不需要做屏幕适配,做不了的就用点击事件解决就好,虽然这看起来有些low…
2.
文本框是有一个value属性的,对应当前文本框内的内容。
获取到这个文本框之后,你或许可以尝试设置它的value属性值为你需要的值,这个肯定是能设定上的,但是可能无法同步数据到页面上。
更好的方法我已经开始寻找,我会尽量给大家一个满意的方案。