swipe介绍

1.查看源码语法,起点和终点四个坐标参数,duration是滑动屏幕持续的时间,时间越短速度越快。默认为None可不填,一般设置500-1000毫秒比较合适。

swipe(self, start_x, start_y, end_x, end_y, duration=None)

Swipe from one point to another point, for an optional duration.

从一个点滑动到另外一个点,duration是持续时间

:Args:

- start_x - 开始滑动的x坐标

- start_y - 开始滑动的y坐标

- end_x - 结束点x坐标

- end_y - 结束点y坐标

- duration - 持续时间,单位毫秒

:Usage:

driver.swipe(100, 100, 100, 400)

2.手机从左上角开始为0,横着的是x轴,竖着的是y轴

获取坐标

1.由于每个手机屏幕的分辨率不一样,所以同一个元素在不同手机上的坐标也是不一样的,滑动的时候坐标不能写死了。可以先获取屏幕的宽和高,再通过比例去计算。

# coding:utf-8

from appium import webdriver

desired_caps = {

'platformName': 'Android',

'deviceName': '30d4e606',

'platformVersion': '4.4.2',

# apk包名

'appPackage': 'com.taobao.taobao',

# apk的launcherActivity

'appActivity': 'com.taobao.tao.welcome.Welcome'

}

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

# 获取屏幕的size

size = driver.get_window_size()

print(size)

# 屏幕宽度width

print(size['width'])

# 屏幕高度width

print(size['height'])

2.运行结果:

{u'width': 720, u'height': 1280}

720

1280

封装滑动方法

1.把上下左右四种常用的滑动方法封装,这样以后想滑动屏幕时候就能直接调用了

参数1:driver

参数2:t是持续时间

参数3:滑动次数

2.案例参考

# coding:utf-8

from appium import webdriver

from time import sleep

desired_caps = {

'platformName': 'Android',

'deviceName': '30d4e606',

'platformVersion': '4.4.2',

# apk包名

'appPackage': 'com.taobao.taobao',

# apk的launcherActivity

'appActivity': 'com.taobao.tao.welcome.Welcome'

}

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

def swipeUp(driver, t=500, n=1):

'''向上滑动屏幕'''

l = driver.get_window_size()

x1 = l['width'] * 0.5 # x坐标

y1 = l['height'] * 0.75 # 起始y坐标

y2 = l['height'] * 0.25 # 终点y坐标

for i in range(n):

driver.swipe(x1, y1, x1, y2, t)

def swipeDown(driver, t=500, n=1):

'''向下滑动屏幕'''

l = driver.get_window_size()

x1 = l['width'] * 0.5 # x坐标

y1 = l['height'] * 0.25 # 起始y坐标

y2 = l['height'] * 0.75 # 终点y坐标

for i in range(n):

driver.swipe(x1, y1, x1, y2,t)

def swipLeft(driver, t=500, n=1):

'''向左滑动屏幕'''

l = driver.get_window_size()

x1 = l['width'] * 0.75

y1 = l['height'] * 0.5

x2 = l['width'] * 0.25

for i in range(n):

driver.swipe(x1, y1, x2, y1, t)

def swipRight(driver, t=500, n=1):

'''向右滑动屏幕'''

l = driver.get_window_size()

x1 = l['width'] * 0.25

y1 = l['height'] * 0.5

x2 = l['width'] * 0.75

for i in range(n):

driver.swipe(x1, y1, x2, y1, t)

if __name__ == "__main__":

print(driver.get_window_size())

sleep(5)

swipLeft(driver, n=2)

sleep(2)

swipRight(driver, n=2)

在学习过程中有遇到疑问的,可以appium+python QQ群交流:330467341

python滑动手机屏幕_appium+python自动化24-滑动方法封装(swipe)相关推荐

  1. python控制手机模拟器_Appium+python自动化之连接模拟器并启动淘宝APP(超详解)...

    简介 上一篇讲解完模拟器的安装.配置好以后,就好比我们手机已经买好,并且系统已经做好了,就差我们用数据线和电脑连接开始实战了,这篇宏哥就带着小伙伴们和童鞋们趁热打铁,讲解和分享一下如何连接模拟器(电脑 ...

  2. python控制手机模拟器_Appium+python自动化23-Android夜神模拟器

    前言 Android SDK虽然也自带了模拟器,但是那速度会让你怀疑人生,并且不稳定经常卡死异常.夜神模拟器可以说是android模拟器里面的一个神器. 环境安装 2.夜神安卓模拟器(夜神模拟器),是 ...

  3. 手机写python脚本_手机python在手机里写python脚本控制手机,神!

    一说起写代码,大家所想到地就是在电脑键盘上面敲.其实不然,在移动端飞速发展地今天,我们是可以在手机上编写代码的.今天,编玩编学网就给大家科普下手机python的知识,想在手机里面编写python脚本自 ...

  4. iPhone手机屏幕三种故障及维修方法

    我使用Apple手机的朋友经常出现屏幕故障.手机屏幕坏了后,很多人都不知道问题出在哪里.最后,是否要维修. 苹果公司的官方维修点太昂贵,导致许多人受到一些不良企业的打击.现在共享通常出现在手机屏幕上的 ...

  5. python控制手机屏幕亮度的软件_Python脚本利用adb进行手机控制

    Python脚本利用adb进行手机控制 一. adb 相关命令:1. 关闭adb服务:adb kill-server2. 启动adb服务 adb start-server3. 查询当前运行的所有设备 ...

  6. python控制手机屏幕亮度的软件_使用Python脚本更改显示器亮度

    前言 不管在电脑屏幕前办公还是娱乐,环境光线在变化,看的东西也在变化.显示器的亮度也应该及时调整,白天亮一些,晚上暗一些,打游戏亮一些,看文档暗一些. 如果是笔记本,可以在Win10的任务栏最右边的通 ...

  7. python ADB 手机屏幕 控制脚本 刷粉 刷赞 脚本

    本系列专栏见:高质量文章导航_GZVIMMY的博客 Python大家都很熟悉,人生苦短,我用Python. ADB(Android Debug Bridge)则是一种通过电脑调试控制安卓设备的技术,我 ...

  8. python模拟手机按键_Appium+Python-模拟手机按键操作

    一.前言 移动端自动化的话,有时需要模拟手机按键操作,比如手机系统自带的回车.返回等,所以要模拟按键操作得用到 keyevent方法,参数如下: keyevent(keycode, metastate ...

  9. python坐标定位手机元素_Appium+Python之元素定位和操作

    一.常用识别元素的工具 uiautomatorviewer:Android SDK自带的一个工具,在tools目录下 二.元素定位 1.格式:find_element_by_定位方式(value) 通 ...

最新文章

  1. HTTP与HTTPS区别/HTTPS知识点
  2. python算法书籍-你也能看得懂的Python算法书
  3. Could not autowire field: private javax.servlet.http.HttpServletRequest
  4. 由浅入深理解Java线程池及线程池的如何使用
  5. PCA 主成分分析 用Excel一步步演算过程详解
  6. Android更新平台架构方案
  7. pytorch中resnet_ResNet代码详解
  8. 无线对讲调度服务器,无线对讲系统解决方案
  9. Java @Transient 注解使用
  10. python爬取万方数据库,python下载万方数据库文献
  11. anaconda tensorflow import PIL 报错的解决方法
  12. cps linux命令,Linux基本网络及文件传输命令
  13. 微信公众号图灵机器人开发php,使用图灵机器人api搭建微信聊天机器人php实现,图灵微信聊天机器人...
  14. 黯然销魂者,惟别而已矣。
  15. 对于Windows 11备份和还原的探索
  16. 设计师们都在用的5款有限元分析软件推荐
  17. DIY 空气质量检测器
  18. 使用编码器控制步进电机
  19. MVS学习(一):综述论文阅读记录
  20. Windows电脑桌面云便签怎么设置已完成效果?

热门文章

  1. New Concept English three(13)
  2. 2015 年最流行的 10 个 Linux 发行版
  3. 【运维小分享】整理Apache日志
  4. hadoop单击模式环境搭建
  5. 基于dubbo + maven 的项目搭建
  6. CodeForces 48C D - The Race (Fraction,数学)
  7. freeswitch三方通话配置
  8. 日志分析工具Awstats实战之Apache篇-多站点日志分析
  9. FreeBSD下MongoDB数据库的安装
  10. 隐藏控制台程序的窗口