什么是九宫格?

即是我们常见的手势绘制。一共有9个点,让我们进行绘制手势。我们手动操作的时候,通过是按住第一个点,然后移动到最后一点,然后松开,就完成手势的操作,那么,如果要用自动化代码,来让其自动绘制手势,应该要怎么做呢?

分解九宫格图(放在了一个元素里面)

选一个常用的九宫格,为了方便看到九宫格点与点之间的关系,用了工具将工具放大,并加了网格,可以看到九宫格整个元素的宽、高,加上点与点之间的间隔,大致可以将九宫格的宽、高分为6份,知道之间的关系,就可以大致定位点的位置(知道移动到点里面的范围,即可选中点,不是非常精确地定位操作);如:要移动到第一点,需要到箭头1或者2的位置

下图是九宫格的手势(即经过了那些点)

各个九宫格的位置

  1. 首先要获取九宫格的size ,size包含了宽和高

jiu_size = driver.find_element_by_id("九宫格元素的定位").size

            获取九宫格的起始坐标,再加上与九宫格的位置,

             start= driver.find_element_by_id("九宫格元素的定位").location

  1. 第一点的位置大概占整个宽度的 1/6,第二点占 3/6,第三点占 5/6,都在同一行,高不变

points[1] = (None, start["x"] + jiu_size["width"]*1/6, start["y"]+jiu_size["height"]*1/6)

points[1] = (None, jiu_size["width"]*3/6, jiu_size["height"]*1/6)

points[1] = (None, jiu_size["width"]*5/6, jiu_size["height"]*1/6)

  1. 第四个点占整个高度3/6,宽度不变,变的是高度

points[1] = (None, jiu_size["width"]*5/6, jiu_size["height"]*3/6)

points[1] = (None, jiu_size["width"]*5/6, jiu_size["height"]*5/6)

  1. 第6个点在第三行的第二点,最后一个点在第三行第一个点,变的是宽度

points[1] = (None, jiu_size["width"]*3/6, jiu_size["height"]*3/6)

points[1] = (None, jiu_size["width"]*1/6, jiu_size["height"]*5/6)

app绘制手势密码 、九宫格分解的更多相关文章

  1. Android手势密码--设置和校验

    private void setGesturePassword() { toggleMore.setOnCheckedChangeListener(new CompoundButton.OnCheck ...

  2. Android手势密码实现

    图 二.实现思路: 1. 正上方的提示区域,用一个类(LockIndicator.java)来实现,自定义view来绘制9个提示图标: 2. 手势密码绘制区域,用一个类(GestureContentV ...

  3. iOS-高仿支付宝手势解锁(九宫格)

    概述 高仿支付宝手势解锁, 通过手势枚举去实现手势密码相对应操作. 详细 代码下载:http://www.demodashi.com/demo/10706.html 基上篇[TouchID 指纹解锁] ...

  4. appium_python 实现手势密码

    直接上代码吧: from appium.webdriver.common.touch_action import TouchAction from driver import AppiumTest # ...

  5. HTML5 Canvas简简单单实现手机九宫格手势密码解锁

    原文:HTML5 Canvas简简单单实现手机九宫格手势密码解锁 早上花了一个半小时写了一个基于HTML Canvas的手势解锁,主要是为了好玩,可能以后会用到. 思路:根据配置计算出九个点的位置,存 ...

  6. iOS 九宫格手势密码

    代码地址如下:http://www.demodashi.com/demo/11490.html 一.准备工作 需要准备什么环境 xcode,iOS8+ 本例子实现什么功能 主要实现手势密码设置,验证 ...

  7. Swift 简简单单实现手机九宫格手势密码解锁

    原文:Swift 简简单单实现手机九宫格手势密码解锁 大家可以看到我之前的文章[HTML5 Canvas简简单单实现手机九宫格手势密码解锁] 本文是使用苹果语言对其进行了移植 颜色配色是拾取的支付宝的 ...

  8. 28.【转载】挖洞技巧:APP手势密码绕过思路总结

    说到APP手势密码绕过的问题,大家可能有些从来没接触过,或者接触过,但是思路也就停留在那几个点上,这里我总结了我这1年来白帽子生涯当中所挖掘的关于这方面的思路,有些是网上已经有的,有些是我自己不断摸索 ...

  9. APP手势密码绕过

    之前写的文章收到了很多的好评,主要就是帮助到了大家学习到了新的思路.自从发布了第一篇文章,我就开始筹备第二篇文章了,最终打算在07v8首发,这篇文章我可以保障大家能够学习到很多思路.之前想准备例子视频 ...

随机推荐

  1. 2018.12.08 codeforces 946D. Timetable(背包)

    传送门 题意简述:有一个人上n天课,每天有m个小时的时间安排表(一个01串),为1表示要上课,否则不上课,求出如果可以最多翘kkk节课这nnn天在校待的总时间的最小值(一天必须在所有课上完后才能离开) ...

  2. springboot mybatis 分页整合

    spring boot 整合mybatis ,分两块mybatis 整合,分页整合.   1.pom文件增加 <dependency> <groupId>org.mybatis ...

  3. Win7 VS2015环境使用qt-msvc2015-5.6.0

    QT下载 http://www.qt.io/download-open-source/#section-2 我用的是 qt-opensource-windows-x86-msvc2015-5.6.0. ...

  4. c# 得到list符合某条件的索引值,排序

    请教,在List集合中怎么得到元素的索引值,参考:http://www.myexception.cn/c-sharp/385022.html 这个可以用来读取窗口的多个textbox控件中内容: -- ...

  5. python中的\n、\r与\b

    python中使用print函数,有时候会使用end参数来控制字符输出效果,这时候\n.\r与\b就派上用场了. \n 代表换行,也就是从本行换到下一行 \r 代表回车,也就是回到本行最开始的位置,从 ...

  6. 查看Redis集群所有节点内存工具

    指定集群中任意一个节点,查看集群中所有节点当前已用物理内存.配置的最大物理内存和系统物理内存. ​ ​源码(可从https://github.com/eyjian/redis-tools下载): #! ...

  7. XCode中安装cocoapods步骤

    Ruby是一种功能强大的面向对象的脚本语言 Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找.安装.升级和卸载软件包,非常的便 ...

  8. TinyMCE Editor

    TinyMCE Editor(https://www.tinymce.com/features/) is an online text editor, it is used to write post ...

  9. svn本地如何切换账号

    SVN如何切换账号   在使用svn更新或提交数据时需要输入用户名和密码,在输入框中可以选择是否记录,以便下次操作无需再次输入用户名和密码: 要切换其他用户名时,需要删除已记录用户的数据,在电脑桌面上 ...

  10. Mybatis类型转换介绍

    1.1     目录 1.2     建立TypeHandler 1.2.1    TypeHandler接口 1.2.2    BaseTypeHandler抽象类 1.3     注册TypeHa ...