1.滑动---TouchAction  支持相对坐标、绝对坐标、Element

注意看顶部的导入TouchAction这个库..

#实例化
action = TouchAction(driver)
#press 其实位置 wait从起点滑动到终点的滑动时间 move_to终点位置 release滑动完成
action.press(x=0.5,y=0.7).wait(ms=5000).move_to(x=0.5,y=0.1).release()
action.perform() #完成

TouchAction支持相对坐标和绝对坐标上下两种都是可行的,或者:

#实例化
action = TouchAction(driver)
#press 起点位置 wait从起点到终点的滑动时间 move_to终点位置 release滑动完成
action.press(x=346,y=985).wait(ms=5000).move_to(x=346,y=200).release()
action.perform() #完成

那么:如果是类似解锁九宫格的滑动呢...so ez啦,把第一个终点当成起点继续给我滑就O了!

#实例化
action = TouchAction(driver)
#press 起点位置 wait从起点到终点的滑动时间 move_to终点位置 release滑动完成
action.press(x=346,y=985).wait(ms=5000).move_to(x=346,y=200).wait(ms=500).move_to(xxx).wait(ms=500).move_to(xxx).wait(ms=500).move_to(xxx).release()
action.perform() #完成

2.长按元素两种方式

    直接修改上面代码,既然是长按--那么就是说---起点坐标等于终点坐标所以:

    

#实例化
action = TouchAction(driver)
#press 其实位置 wait从起点滑动到终点的滑动时间 move_to终点位置 release滑动完成
action.press(x=0.5,y=0.7).wait(ms=5000).move_to(x=0.5,y=0.7).release()
action.perform() #完成发送指令到服务器

    那么在深入理解一下---既然是长按----那么只有起点坐标--和滑动时间--不给他终点时间呢----是不是说就是按下去之后--等着就可以了--所以不给终点坐标也是OK的!

#实例化
action = TouchAction(driver)
#press 其实位置 wait从起点滑动到终点的滑动时间 move_to终点位置 release滑动完成
action.press(x=0.5,y=0.7).wait(ms=5000)..release()
action.perform() #完成

3.单击  tap——也支持相对坐标和绝对坐标

  • Driver.tap([(100,100)])或者Driver.tap([(0.1,0.2)])---这是一种单击方式,这个贼简单了...直接拿着用就妥了
  • so使用 TouchAction呢?    讲道理肯定是可以的

    

#实例化
action = TouchAction(driver)
#press 其实位置 wait从起点滑动到终点的滑动时间 move_to终点位置 release滑动完成
action.tap([(100,100)]).release()
action.perform() #完成

结果:如下图所示,很明显凉了啊  兄碟---

提示:没有属性id ,感觉这个报错有点骚--看的不是太懂,但是讲道理应该是可以的,so....我看了一波源码---发现,如下图所示,,,很明显是支持的...但是需要给出x和y坐标的key----so-----tap在TouchAction下的用法和直接用是不一样的,

Too  so  :TouchAction+tap点击改一下语法,给出X,Y坐标的key,如下所示:

结果:很舒服--OK的

代码:

#实例化
action = TouchAction(driver)
#press 其实位置 wait从起点滑动到终点的滑动时间 move_to终点位置 release滑动完成
action.tap(x=0.13,y=0.31).release()
action.perform() #完成

那么问题又来了--这个可以单击,那么搞一个tow击可以不?

结果:还是很明显可以的--

备注:有位大兄弟问我,他是按照这个写的,但是一直点击......我这里是写的点击二十次...是为了把指针打开之后方便看到效果.....

所以:TouchAction用法

滑动:

#实例化
action = TouchAction(driver)
#press 其实位置 wait从起点滑动到终点的滑动时间 move_to终点位置 release滑动完成
action.press(x=0.5,y=0.7).wait(ms=5000).move_to(x=0.5,y=0.1).release()
action.perform() #完成

长按:

#实例化
action = TouchAction(driver)
#press 其实位置 wait从起点滑动到终点的滑动时间 move_to终点位置 release滑动完成
action.press(x=0.5,y=0.7).wait(ms=5000)..release()
action.perform() #完成

点击:

#实例化
action = TouchAction(driver)
#press 其实位置 wait从起点滑动到终点的滑动时间 move_to终点位置 release滑动完成
action.tap(x=0.13,y=0.31).release()
action.perform() #完成

双击:

#实例化
action = TouchAction(driver)
#press 其实位置 wait从起点滑动到终点的滑动时间 move_to终点位置 release滑动完成
action.tap(x=0.13,y=0.31,count=20).release()
action.perform() #完成

备注:再次建议新手打开开发者选项里面的  指针位置,打开之后点击屏幕会出现如图所示的坐标,后续的手机操作,你可以直接看到代码是否执行...

那么TouchAction的用法还有其他吗......

事实上真的还以用来搞点事情:

比如---appium自带的那个 叫啥来着 scroollIntoview....好像是这么拼的..就是一个滑动查找元素的方法--不知道其他人用这个是否稳定...反正我第一点是记不住这个单词...第二点是感觉滑动起来不太稳定..所以我自己用TouchAction封装了一个简单粗暴的滑动查找元素的方法--后面应该会讲到滑动查找元素...

8.0 TochAction各种用法的更多相关文章

  1. UICollectionView在Swift3.0中的用法

    UICollectionView在Swift3.0中的用法 UICollectionView的初始化跟OC中是相似的,创建 GameView 集成自 UICollectionView .注意不同于UI ...

  2. JS版微信6.0分享接口用法分析

    本文实例讲述了JS版微信6.0分享接口用法.分享给大家供大家参考,具体如下: 为了净化网络,整顿诱导分享及诱导关注行为,微信于2014年12月30日发布了<微信公众平台关于整顿诱导分享及诱导关注 ...

  3. OAuth2.0理解和用法

    现在网络的资料到处都是,很容易搜索到自己想要的答案.但答案通常只能解决自己一部分的问题.如果自己想要有一套自己的解决方案,还得重新撸一遍靠谱. 我需要学下OAuth2.0吗? 没看之前以为OAuth2 ...

  4. UIWebView内嵌网页 Xcode7.0以后的用法

    UIWebView* webPage=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, screenWidth, screenHeight-64)]; ...

  5. Microsoft ACE OLEDB 12.0概念及用法

    首先需要清楚几个概念: Database engine(数据引擎):一些预先存储于数据库中的组件: Microsoft JET (Joint Engine Technology):Microsoft ...

  6. cocos2dx 2.0 CCScrollView的用法以及滑动的原理

    #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" USING_N ...

  7. [moka学习笔记]yii2.0 rules的用法(收集,不定期更新)

    public function rules(){ return [ ['title','required','message'=>'标题不能为空'], ['title','string','mi ...

  8. ds.Merge 与 ds.Tables[0].Merge 的用法

    DataSet ds = new DataSet(); SqlConnection conn = new SqlConnection(ConnectionStr);            SqlCom ...

  9. Asp.Net MVC 2.0 Filter基本用法

    在这一节里,大家一同学习下mvc 2.0中的filter,简单的说,filter就是标记在action上的一些属性,来实现对action的控制. mvc2.0中主要包括以下filter 1. Auth ...

随机推荐

  1. js 实现div跟随鼠标移动

    今天看到了一个自己可以随心所欲的拖到div到页面的任意位置.感觉挺好的,就心血来潮的查询了一下,看看网友做的 代码如下: <script>function doit(){ var obj ...

  2. 【luogu P3375 KMP字符串匹配】 模板

    题目链接:https://www.luogu.org/problemnew/show/P3375 精华:在每次失配后不从头匹配而是尝试找一个新的开始并且是新开始的位置最长的相同前缀和后缀. 实际上KM ...

  3. Android学习笔记_70_一个应用程序启动另一个应用程序的Activity

    第一种(我自己写的) :之前在网上看来一些,很多不是我要的可以启动另外一个应用程序的主Activity. //这些代码是启动另外的一个应用程序的主Activity,当然也可以启动任意一个Activit ...

  4. 自己做的HTML

    <html> <body background="http://img1.imgtn.bdimg.com/it/u=821335874,2927998559&fm= ...

  5. ATK-DataPortal 设计框架(二)

    在信息的交换过程中,总是有此相同相似的功能,由于业务的各自不同,由同一类型来处理诸如增删改查等常见的信息处理方式.从日常的对些类行为操作为生成的类分析,大量雷同的代码遍布整个项目.框架中xxxHand ...

  6. springboot+mybatisplus 测试代码生成

    测试springboot + mybatisplus 实现代码生成   使用默认的模板引擎 pom.xml文件 <?xml version="1.0" encoding=&q ...

  7. 洛谷P3804 【模板】后缀自动机

    题目描述 给定一个只包含小写字母的字符串 SS , 请你求出 SS 的所有出现次数不为 11 的子串的出现次数乘上该子串长度的最大值. 输入输出格式 输入格式: 一行一个仅包含小写字母的字符串 SS ...

  8. echarts重新加载动画

    echarts重新加载动画 var option1 = area_right_top1.getOption();area_right_top1.clear();area_right_top1.setO ...

  9. 【Commare中关于理论范畴和技术常用的技术术语】

    1:地址掩码,分类2:OSI/TCP-IP层,归属,作用3:debugg,dispaly具体配置,排错,现象4:原理5:术语 | | = 局域网,广域网 | | = ( (OSPF,RIP,ISIS, ...

  10. php柱状图多系列动态实现

    <?php require_once 'data.php'; require_once 'jpgraph/src/jpgraph.php'; require_once"jpgraph/ ...