AiWork开发文档
在官方文档的基础上,进行重新排版和优化。
一个优雅的文档,对于开发体验的提升,是效果显著的。
永久域名:aiwork.wiki
需求
获取下面对话框的聊天内容,分别判断内容是自己的还是对方的
思路
有多种思路可以实现。可能需要用的技术:
- OCR识别
- OPENCV形状查找:寻找圆形头像
- 无障碍节点查找:筛选对话内容
- OPENCV比色找色
分析
操作
先使用元素定位工具,找到对方的对话内容,右键——搜索定位
点击搜索按钮,搜到一个结果
点击生成代码,将代码复制出来
var nodesObj = auto.nodeSearch(3000).text("嗨,我是@圣仔,聊聊天吧").id("com.ss.android.ugc.aweme:id/content_layout").className("android.widget.TextView").clickable(true).longclickable(true);
if(nodesObj!=''){
var nodeObj=nodesObj.getNode(0);
}
对代码进行修改,去掉其中的文字部分
var nodesObj = auto.nodeSearch(3000).id("com.ss.android.ugc.aweme:id/content_layout").className("android.widget.TextView").clickable(true).longclickable(true);
if(nodesObj!=''){
var nodeObj=nodesObj.getNode(0);
}
接下来遍历查找结果,得到会话内容矩形,和矩形的左上和右下坐标点
var nodesObj = auto.nodeSearch(3000).id("com.ss.android.ugc.aweme:id/content_layout").className("android.widget.TextView").clickable(true).longclickable(true);
if (nodesObj != '') {
for (let i = 0; i < nodesObj.count(); i++) {
var nodeObj = nodesObj.getNode(i);
let rectH = nodeObj.getBounds()
let x1 = rectH.getLeft();
let y1 = rectH.getTop();
let x2 = rectH.getRight();
let y2 = rectH.getBottom();
console.log('对话内容范围:', x1, y1, x2, y2)
}
}
最后进行多点比色。
完整的代码如下:
运行脚本,打印日志如下:
【系统日志】线程(runDebugJs)开始运行
[00:27:35.644] #142 【String】对方的对话: "嗨,我是@圣仔,聊聊天吧"
[00:27:35.662] #140 【String】自己的对话: "创作不易,感谢支持❤"
【系统日志】线程(runDebugJs)运行结束
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » AiWork识别会话内容是自己的还是对方的
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » AiWork识别会话内容是自己的还是对方的