找回密码
 立即注册
产品售前咨询QQ2050858539
全球IP代理EasyClick 一键安装包
查看: 356|回复: 4

[技术问题] 请问EC有函数是获取一个区域的节点信息吗?

[复制链接]

8

主题

12

回帖

126

积分

注册会员

积分
126
在线时间
11 小时
最后登录
2023-1-5
发表于 2022-11-4 01:32:51 | 显示全部楼层 |阅读模式

马上注册,结交朋友,共同学习EasyClick

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本人现在碰到一个App,很奇葩.一个可以上下滚动页面的界面里,无论是滚到页面的底部还是页面的最上面或者页面的中间都能获取到节点信息
在页面最上面的时候获取到的信息

let node = text("今日签到").getOneNodeInfo(1000)
if (node) {
    logw("");
} else {
    logw("没有");
}
logw(JSON.stringify(text("今日签到").getOneNodeInfo(1000)))
logw(text("今日签到").getNodeInfo(1000))[2022-11-04 01:26:25.636]【远程设备】(js/main.js#55 )有[2022-11-04 01:26:25.876]【远程设备】(js/main.js#59 ){"bounds":{"top":1519,"bottom":1520,"left":114,"right":232},"visibleBounds":{"top":1519,"bottom":1520,"left":114,"right":232},"childCount":0,"clz":"android.view.View","pkg":"com.taobao.live","text":"今日签到","checkable":false,"checked":false,"clickable":false,"enabled":true,"focusable":false,"focused":false,"longClickable":false,"scrollable":false,"selected":false,"nid":"android.view.accessibility.AccessibilityNodeInfo@60abd","parentId":"android.view.accessibility.AccessibilityNodeInfo@6088f","index":1,"depth":26,"visible":true,"drawingOrder":0,"editable":false,"password":false,"multiLine":false,"dismissable":false}[2022-11-04 01:26:26.110]【远程设备】(js/main.js#60 )[object Object]
很奇葩,visble属性永远都是true
因为想写成适配各种不同分辨率手机的,所以冒出来一个想法,
能否固定一个范围,在一个手机屏幕上固定的范围内搜索想要的节点信息

下面是页面里最下面的获取信息,本人手机是720*1520分辨率,这个页面在我手机上差不多一比一的上下滚动要滚两次半才到底部
let node = text("今日签到").getOneNodeInfo(1000)

[2022-11-04 01:28:18.334]【远程设备】(js/main.js#55 )有[2022-11-04 01:28:18.803]【远程设备】(js/main.js#59 ){"bounds":{"top":55,"bottom":57,"left":114,"right":232},"visibleBounds":{"top":55,"bottom":57,"left":114,"right":232},"childCount":0,"clz":"android.view.View","pkg":"com.taobao.live","text":"今日签到","checkable":false,"checked":false,"clickable":false,"enabled":true,"focusable":false,"focused":false,"longClickable":false,"scrollable":false,"selected":false,"nid":"android.view.accessibility.AccessibilityNodeInfo@60abd","parentId":"android.view.accessibility.AccessibilityNodeInfo@6088f","index":1,"depth":26,"visible":true,"drawingOrder":0,"editable":false,"password":false,"multiLine":false,"dismissable":false}[2022-11-04 01:28:19.07]【远程设备】(js/main.js#60 )[object Object]


如果说用的是下面这种找到就直接点击   根本就点不到  今日签到,点了也会有logd(true),但是问题点的不是今日签到啊!
let node = text("今日签到").getOneNodeInfo(1000)
if (node) {
    logw("");
    node.click()
} else {
    logw("没有");
}



69

主题

57

回帖

2377

积分

管理员

安卓原生UI 688培训

积分
2377
在线时间
520 小时
最后登录
2025-4-3
发表于 2022-11-4 02:27:07 | 显示全部楼层
bounds属性给范围即可
专业承接 UI 定制
、软件定制、
Android ROM定制、
网站开发需求。
价格联系我详谈。
安卓原生UI 688培训
回复

使用道具 举报

8

主题

12

回帖

126

积分

注册会员

积分
126
在线时间
11 小时
最后登录
2023-1-5
 楼主| 发表于 2022-11-5 15:39:02 | 显示全部楼层
麻烦多给点提示,怎么给范围,相差一个半的屏幕,获取到的bounds属性,最上面能正确看得见的{"top":1519,"bottom":1520,"left":114,"right":232}
隔开一个半的屏幕,节点早就不见了,还能获取到范围{"top":55,"bottom":57,"left":114,"right":232},就算以这个范围去点击也是点击不对应的节点啊
回复

使用道具 举报

176

主题

145

回帖

4298

积分

管理员

【官方合作培训导师】

积分
4298
在线时间
435 小时
最后登录
2025-3-16

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2022-11-5 17:02:04 | 显示全部楼层
jiucai09 发表于 2022-11-5 15:39
麻烦多给点提示,怎么给范围,相差一个半的屏幕,获取到的bounds属性,最上面能正确看得见的{"top":1519,"botto ...

这是节点展示问题,很多动态加载的网页,比如小程序容易这样,你需要通过别的参数,比如visible等来做额外限制

VIP培训班介绍汇总[安卓/IOSusb版/IOS脱机版/PHP/nodejs等]
http://bbs.laoleng.vip/forum.php?mod=viewthread&tid=428
付费工具介绍汇总[热更/远程调试/IOS易语言UI/拓展插件等]
http://bbs.laoleng.vip/forum.php?mod=viewthread&tid=430
回复

使用道具 举报

8

主题

12

回帖

126

积分

注册会员

积分
126
在线时间
11 小时
最后登录
2023-1-5
 楼主| 发表于 2022-11-5 18:59:30 | 显示全部楼层
只要在一个页面里,无论是否在屏幕上显示,最上面最底下都是visible(true),所以头疼啊,看不见的也是true,哪怕做个滑动的操作也要是在判断能看得见啊,我认为是可行的方案,a,bounds在720*1520内就识别成可见可执行点击
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EasyClick技术交流站 ( 皖ICP备2023020527号-4 )

GMT+8, 2025-4-5 07:49 , Processed in 0.109639 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表