autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)

这篇具有很好参考价值的文章主要介绍了autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如果不知道autojs和vscode的用处请看上一个博客。

click:clickable(控件信息会告诉我们)

1.当click为false,该如何点击控件以达到我们的目的。

autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)
或许再平常我们点击工作台或者四个小方块,你会觉的这也能够点击。
这是什么原因导致的呢?
我们先用VScode返回一下这个控件的属性
autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)
这时候我们可以看到这个text(“工作台”)的属性中clickable为false;
这时候想要达到你想要的效果就需要这个控件中的布局层次进行分析。
autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)

autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)
我们可以看到这个灰灰的就是我们所点击进行分析的控件。
而以Relative开头的控件包括着这两个控件。我们对大的控件进行分析
autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)
可以看到它的clickable为ture是可以点击的,所以我们平常点击都是点击到我们这个大的控件。

id("home_bottom_tab_text").text("工作台").findOne().parent().click();

这样就可以点击到工作台了。
当然以坐标模式进行点击的话也可以,似乎也更加方便,但是开发的话要考虑实用性,一个手机一个样子屏幕分辨率尺寸不同,很大几率会得不到想要的效果。

2.parent(),child().的应用。

parent(),在我们上边点击工作台时候用到了。
为什么不直接用外边的大框架进行点击呢?
因为我们确定一个控件主要由id text desc classname等。
autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)
而工作台这个控件的父级的id 跟他的同级(兄弟)是一样的没办法确定下来。所以需要通过信息更加详细的child进行确定。然后进行点击。
parent()
返回 {UiObject}返回的是一个ui界面的object(对象)
返回该控件的父控件。如果该控件没有父控件,返回null。
child() 一个父级可以拥有多个child。
child(i)
i {number} 子控件索引
返回 {UiObject}
返回第i+1个子控件。如果i>=控件数目或者小于0,则抛出异常。
需要注意的是,由于布局捕捉的问题,该函数可能返回null,也就是可能获取不到某个子控件。
遍历子控件的示例:
var list = className(“AbsListView”).findOne();
for(var i = 0; i < list.childCount(); i++){
var child = list.child(i);
log(child.className());
}
child()就像一个拥有很多房间的大房子,每一个child呆在一个房间。如果想要查找某一个child,就想查房间一样给出child的信息就行了。

下面为大致代码(就我们钉钉打卡而言)

// 主要是一些简单的控件点击
text("钉钉").findOne().click();
sleep(2000);
id("home_bottom_tab_text").text("工作台").findOne().parent().click();
sleep(100);
text("员工健康").findOne().click();
sleep("300");
text("今天").depth(20).findOne().parent().parent().click();
sleep(1500)
className("android.view.View").text("获取").findOne().click();
sleep(300);
className("android.view.View").text("点击签名").findOne().click();
sleep(100);
gestures([1000, [170, 1683], [680, 2000]])
sleep(1000);
className("android.widget.Image").text("plus").findOne().click();
sleep(1000);
id("album_item_media_cbx_icon").desc("未选中").findOne().click();
id("btn_send").findOne().click();
sleep(1500);
className("android.widget.RadioButton").text("绿卡").findOne().click();
sleep(200);
className("android.widget.Button").text("确定").findOne().click();
sleep(100);
className("android.widget.Button").text("提交").findOne().click();
sleep(1000);
home();

由于我们打卡需要签名

我这个地方xue微有点敷衍了(哈哈~~~)
主要用到的方法为gesture
gesture(duration, [x1, y1], [x2, y2], …)
duration {number} 手势的时长
[x, y] {…} 手势滑动路径的一系列坐标
模拟手势操作。例如gesture(1000, [0, 0], [500, 500], [500, 1000])为模拟一个从(0, 0)到(500, 500)到(500, 100)的手势操作,时长为2秒。

根据个人需要进行改变。

我们同时也用到了上传行程卡

这就简单提一下截图并且保存到手机中

// 
function 截图(){
    threads.start(function () {
        var beginBtn;
        if (beginBtn = classNameContains("Button").textContains("允许").findOne(2000)) {
            beginBtn.click();
        }
    });
    if (!requestScreenCapture()) {
        toast("请求截图失败");
        exit();
    }
    sleep(2000);
    captureScreen("/sdcard/img.png");
}

前几行解决了autojs截图是需要进行允许,我的手机提示框是允许根据自己改变。
以上大部分就已经可以进行一个简单打卡,我碰到的太复杂的我就舍弃了,因为也是自己用所以没有弄那么麻烦,比如获得行程卡截图需要打开vx 或者支付宝,需要输入密码,写好了但是太麻烦,不简洁所以就没有引用。代码要比较简洁才是王道。完结撒花!
autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)文章来源地址https://www.toymoban.com/news/detail-400545.html

到了这里,关于autojs,gesture函数的简单应用,parent(),child()的简单应用讲解。(钉钉打卡)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • auto.js教程(autojs教程、autox.js、autoxjs)笔记(二)环境搭建——1、auto.js软件安装及简单使用(安装autojs安装auto.js安装)

    参考文章:【自动化技术】Autojs从入门到精通 参考文章:AutoXJS开发入门简介菜鸟教程 参考文章:关于Auto.js的下架说明 参考文章:Auto.js 4.1.0 文档 https://www.bilibili.com/video/BV1LF411U7GS/?p=4 投屏工具安装:https://www.sigma-rt.com/tc/download/ 如果投屏软件显示字体太小可以更改DPI设置:

    2024年03月14日
    浏览(40)
  • python实战应用讲解-【numpy数组篇】常用函数(八)(附python示例代码)

    目录 Python Numpy MaskedArray.cumprod()函数 Python Numpy MaskedArray.cumsum()函数 Python Numpy MaskedArray.default_fill_value()函数 Python Numpy MaskedArray.flatten()函数 Python Numpy MaskedArray.masked_equal()函数 numpy.MaskedArray.cumprod() 返回在给定轴上被屏蔽的数组元素的累积乘积。在计算过程中,被屏蔽的值在内部

    2024年02月02日
    浏览(41)
  • Kotlin(十六) 高阶函数的简单应用

    高阶函数非常适用于简化各种API的调用,一些API的原有用法在使用高阶函数简化之后,不管是在易用性还是可读性方面,都可能会有很大的提升。 所以我们可以通过高阶函数来使一些API变得更简单更易读。在我们APP存储数据时,通常会用到SharedPreferences 这个API,那么我们现在

    2024年02月04日
    浏览(35)
  • 认识钉钉小程序_搭建一个简单的小程序---钉钉小程序开发教程001

        其实这里面开发的时候具体,应该有很多的坑,不过..因为暂时不需要具体做,我仅仅查了一下怎么做,记录一下,以后不用再查了.     感觉钉钉小程序开发比微信小程序开发要更便捷,简单一些.首先要注册一个开发者,其实登录上钉钉账号就可以了.然后可以看看,快速入门,我没

    2024年02月09日
    浏览(35)
  • 钉钉微应用

    在做钉钉微应用开发的时候,遇到了一些相关性的问题,特此记录下,有遇到其他问题的,欢迎一起讨论 当我们基于钉钉开发微应用时,难免会遇到调用钉钉api后的调试,这个时候可以安装 eruda 这个插件,github地址 一般情况根据环境去判断是否开启调试工具,像我这边的话

    2024年02月14日
    浏览(22)
  • Springboot钉钉免密登录集成(钉钉小程序和H5微应用)

    欢迎访问我的个人博客:www.ifueen.com RT,因为业务需要把我们系统集成到钉钉里面一个小程序和一个H5应用,并且在钉钉平台上面实现无感登录,用户打开我们系统后不需要再输入密码即可登录进系统,查阅文档实际操作过之后记录一下过程 首先就是需要在钉钉开发者平台申请

    2024年02月09日
    浏览(29)
  • 钉钉H5微应用基础学习

    钉钉开发文档 一、使用调试工具——IDE: 1、先下载调试工具,并且新建一个企业内部应用。 如果需要管理员权限,可以自己创建一个企业。 (tips:一定要屏蔽自己创建的企业的消息,不然消息很多) 2、保证现在自己使用的node版本是16以上的,不然会报以下错误: 3、根据

    2024年02月11日
    浏览(26)
  • 钉钉小程序无法关联应用

    钉钉小程序无法关联应用 后台创建了新的应用 钉钉小程序开发者工具企业内部应用关联应用 没有下拉列表 无法关联,只能点击新增按钮,重新进入后台 很奇怪,明明创建好了应用,为什么关联下拉列表没有这个应用呢? 创建应用还不够,需要添加应用能力 应用能力添加应

    2024年02月21日
    浏览(38)
  • Yaml版接口自动化详细讲解(Python + pytest + allure + log + yaml + mysql + redis + 钉钉通知 + Jenkins)

    目录 框架介绍 框架结构 框架功能讲解 common  # 配置         config.yaml  # 公共配置         setting.py  # 环境路径存放区域 data  # 测试用例数据 Files  # 上传文件接口所需的文件存放区域 logs  # 日志层 report  # 测试报告层 test_case  # 测试用例代码         __init

    2024年02月13日
    浏览(114)
  • Duang,您的钉钉应用已上线!云开发5分钟快速打造钉钉会议室预定系统

    简介: 5分钟可以干什么?喝一杯咖啡,回一封邮件,还是开发上线一个钉钉应用。云开发平台联合钉钉开发平台推出0门槛打造你的第一个钉钉应用的活动,完成相应任务后,即可领取精美奖品。春暖花开,领个背包去踏春吧!   俗话说工欲善其事,必先利其器。一款适合程

    2023年04月08日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包