最近初学AUTOJS,写了一小段代码,想实现一个功能,大致意思如下:
从屏幕左上角获取控件的文本,这个文本是不定时更新的,显示内容大致为“张三 进入直播间”,或者“李四 进入直播间”,我想写几行代码自动欢迎一下,获取到控件文本后加上欢迎二字,就变成了“欢迎张三进入直播间”。
这个基本功能我已经实现了,但是无法循环获取,如果有人一直进入房间,控件文本一直在变,代码就运行正常,如果半天没有人进来的话,就会一直发送上一次获取到的信息,来回重复发送“欢迎张三进入直播间”,我想的是,如果没有人进来的话,能不能等待这个控件的内容变了之后再执行,等李四来了,再发送“欢迎李四进入直播间”,没人来就不发了,发一次就可以。
代码如下,麻烦大神帮我看看怎么改一下才能达到我想要的功能。
"auto";
launchApp("聊天室");
sleep(500);
while(true){
setText("欢迎"+id("live_common_tv_content").findOne(10000).text());
press(997,1337,1);
click("说点什么")
sleep(1000)
}
用计时器循环判断,检查到了就发送数据。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
加个判断条件呀,
var t = '';
while(true){
if (id("live_common_tv_content").findOne(10000).text() != t) {
setText("欢迎"+id("live_common_tv_content").findOne(10000).text());
}
t = id("live_common_tv_content").findOne(10000).text();
press(997,1337,1);
click("说点什么")
sleep(1000)
}