测试了两种方式都不行!
1:
obj.setText('xxx');
2:
setClip('xxx');
obj.paste();

已存档
matols
2
· 2 年前

回答

BATU1579
455
· 2 年前

我目前来说还没见到可以直接修改的 TextView 控件,一般来说都是使用 EditText 控件来进行输入的(当然也有可能是我写的脚本不够多QAQ)。另外如果粘贴不行也许可以试试先用模拟操作点击一下那个输入框,等光标出来以后再用粘贴。


这个应该是选择了那个输入框以后出来的日期选择吧,要不试试能不能直接往那个输入框里填数据,我这儿看不到那个控件

如果不行的话感觉可以试试用模拟操作拖动那几个轮动控件,我看能拿到控件 ID :

  • 日期滚轮 - com.hwabao.hbstockwarning:id/wheel_view_date
  • 小时滚轮 - com.hwabao.hbstockwarning:id/wheel_view_hour
  • 分钟滚轮 - com.hwabao.hbstockwarning:id/wheel_view_min

然后可以测试一下滑动的距离和分辨率有没有关系,如果距离是固定的话就比较简单了。上面的数据默认是你打开这个页面时的日期和时间,这些都可以直接获得,你只需要写个函数推导出目标时间和当前的时间需要调整多少就可以了,感觉并不需要用到 OCR 。


一人血书求探索大大 尽快更新评论回复功能,这横线看的我眼晕QAQ

matols
2
· 2 年前

这个app上使用TextView作为输入控件的原因是,点击该控件弹出窗口选择以后,回填回去的(比如特殊日期选择)。
而弹出的特殊日期选择控件估计是一个自定义的组件,没法通过元素器进行有效识别处理。


还请大佬指正?
我的机器人调试记录,网址是:https://hamibot.com/inspector?s=clsnuoh1677638869217 (复制链接到浏览器打开)


关键是弹出窗口的日期选项UI控件里也没有具体的数据项可以识别,点击确定以后回填回去的又是一个不可修改的TextView。所有流程都处理好了,就差这一个关键数据不好自动化,难受啊!


你这么一说我突然灵感来了,逆向匹配。
先点击确定然后会回填数据,在获取TextView回填的数据跟自己比较大小;
然后在触发弹出选择控件,模拟上下滑动,点击确定回填;
直到达到预期想要的数据。😄

神秘机师
2.27k
· 2 年前

挺特殊的,不妨用机器人调试,点开日期选取后点调试,然后分享出来看看


确实头大🤦,现在想到的办法就是 OCR 了,好在内容都是可预测的。

瓜瓜 · 2 年前

OCR不妥,识别错误就麻烦了。。