热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

autojs开发引流脚本时找不到节点信息怎么办?

前言有一些APP的组件,它们的id、text、desc等节点值是空值。className值又不是页面上唯一的。还有的组件id是动态变化的。常见于大型的APP

前言

有一些APP的组件,它们的id、text、desc等节点值是空值。className值又不是页面上唯一的。
还有的组件id是动态变化的。
file
常见于大型的APP,比如抖音、QQ等。遇到这种情况,应该怎么办呢?


解决方案

分多种情况。下面逐个分析:


  • 寻找父组件。如果该组件的父组件,或者爷组件存在固定的id、text、desc,就先定位到父组件,然后使用find()函数遍历父组件的子组件。最后通过className、depth、组件的索引等来判断是否为指定的组件。

  • 寻找子组件。如果该组件的子组件,或者孙组件存在固定的id、text、desc,就先定位到子组件,然后使用parent()函数获取父组件对象。最后通过className、depth、组件的索引等来判断是否为指定的组件。

  • 寻找兄弟组件。如果该组件的兄弟组件存在固定的id、text、desc,就先定位到兄弟组件,然后使用parent()函数获取父组件对象。接下来使用find()函数遍历父组件的子组件。最后通过className、depth、组件的索引等来判断是否为指定的组件。

  • 如果要操作的一个对象,在界面上有固定的文本。比如说一个“关注”按钮,界面上能看到关注两个字,但是节点信息却看不到。这个时候可以通过寻找父组件、子组件、兄弟组件的方法,定位到该组件,然后使用OCR来识别该组件的文字。

  • 如果父组件、爷组件、子组件都没有明显的标识,欲寻找的组件范围内存在固定且不同于其他区域颜色的颜色,这种颜色如果不是纯黑或纯白,可以使用截图找色的方式来定位到指定位置。最后使用click(x, y)执行点击等操作。

  • 如果父组件、爷组件、子组件都没有明显的标识,欲寻找的组件范围的颜色为纯白/纯黑,或者范围内颜色和其他区域颜色有重复,这种情况下只能取该组件的坐标点,使用click(x, y)点击了。这种方法做出来的脚本,是固定分辨率的。如果设备的分辨率变了,脚本的坐标值也要修改。

  • 还有一种情况,比如抖音的同城用户视频播放页,使用autojs分析节点,发现只有一个大框。无法获取到页面内子组件的任何信息。还有其他一些APP,页面是基于H5的,而不用是基于XML,遇到这种情况,要么是点击固定坐标点,要么就是直接放弃。每种开发语言再强大,也总有力不能及的地方。不必过于执着。


结语

由于篇幅有限,APP的各种情况比较多,这里仅仅提供解决的思路。
具体到代码怎么写,就要靠大家自己去琢磨、研究了。
这类问题如果琢磨透了,相信你的脚本开发水平又提高了一个段位。加油!


相关文档

Auto.js 选择器
找图找色


相关文章

Auto.js Pro获取微信聊天页面会话内容的方法


相关教程

跟我学Auto.js Pro安卓免ROOT引流脚本开发教程


推荐阅读
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 如何基于ggplot2构建相关系数矩阵热图以及一个友情故事
    本文介绍了如何在rstudio中安装ggplot2,并使用ggplot2构建相关系数矩阵热图。同时,通过一个友情故事,讲述了真爱难觅的故事背后的数据量化和皮尔逊相关系数的概念。故事中的小伙伴们在本科时参加各种考试,其中有些沉迷网络游戏,有些热爱体育,通过他们的故事,展示了不同兴趣和特长对学习和成绩的影响。 ... [详细]
  • 本文讨论了在Spring 3.1中,数据源未能自动连接到@Configuration类的错误原因,并提供了解决方法。作者发现了错误的原因,并在代码中手动定义了PersistenceAnnotationBeanPostProcessor。作者删除了该定义后,问题得到解决。此外,作者还指出了默认的PersistenceAnnotationBeanPostProcessor的注册方式,并提供了自定义该bean定义的方法。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
author-avatar
RaymondKit
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有