如果遇到返回的宽度为负数

例如:print(ele.size)

解决方案:

desired_caps['automationName'] = 'uiautomator2'

修改底层测试库配置为'uiautomator2'

这个应该是appium优化过的底层库,修改了一些BUG,因此大家在驱动手机app遇到一些异常情况,可以考虑使用此方法,如果不设置,默认用的就是'uiautomator'(可能会有些问题)

如果将desired_caps['automationName'] = 'uiautomator2'设置后出现以下这个问题:

selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not sign with default certificate. Original error Command ''D:\\Program Files (x86)\\Java\\jdk1.8.0_172\\bin\\java.exe' -jar 'C:\\Program Files\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-adb\\jars\\sign.jar' 'C:\\Program Files\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-uiautomator2-server\\apks\\appium-uiautomator2-server-debug-androidTest.apk' --override' exited with code 1

重新安装appium,将其安装在个人账户下就好了

appium-desktop  github官网:https://github.com/appium/appium-desktop/releases/

代码重新运行下,正常了ing........(亲测有效)

代码如下:

from appium import webdriverimport timeimport traceback

desired_caps = {}

desired_caps['platformName'] = 'Android'  #测试平台desired_caps['platformVersion'] = '5.1'   #平台版本,不能写错desired_caps['deviceName'] = 'test'    #设备名称,多设备时需区分# desired_caps['app'] = r'd:\apk\HiSpace.apk'  #app 文件 名,指定了要安装的app 在电脑上的路径desired_caps['appPackage'] = 'com.huawei.appmarket'  #app package名,指定了要运行的appdesired_caps['appActivity'] = 'com.huawei.appmarket.MainActivity' #app默认Activitydesired_caps['unicodeKeyboard']  = True  # 一定要有该参数,否则unicode 输入的中文无效desired_caps['automationName'] = 'uiautomator2'desired_caps['noReset'] = Truedesired_caps['newCommandTimeout'] = 60driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #启动Remote RPCdriver.implicitly_wait(10)

try:

    ele = driver.find_element_by_id('com.huawei.appmarket:id/backPicture')    time.sleep(2)

    location = ele.location    size1 = ele.size    print(location, size1)    x1 = location['x'] + int(size1['width'] * 0.8)    x2 = location['x'] + int(size1['width'] * 0.2)    y = location['y'] + int(size1['height'] * 0.5)

    for i in range(10):        driver.swipe(x1, y, x2, y, 500)        time.sleep(0.5)

except:    print(traceback.format_exc())

input('**** Press to quit..')driver.quit()

转载于:https://www.cnblogs.com/mimkmimk789/p/10548163.html

python+Appium 滑动界面操作遇到取的元素宽度为负数相关推荐

  1. 已解决python selenium模块自动化操作谷歌浏览器点击元素失效问题解决(亲测有效)

    已解决python selenium模块自动化操作浏览器点击元素,抛出异常selenium.common.exceptions.ElementClickInterceptedException: Me ...

  2. Python+appium+GUI界面pyside2微信自动加好友(改问候语、备注、标签)

    目录 一.项目背景 二.实现功能 三.具体实现代码 四.支持与合作 一.项目背景 首先,这是我的第一篇文章,写作功底有待提高,后续有时间我会对代码细节的讲解进行完善. 闲暇中,帮助朋友的初创公司开发了 ...

  3. Python Appium 模拟人为操作获取app数据

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.appium是什么? 二.使用步骤 1.准备环境 2.实现思路 3.项目实现 总结 前言 用appium 模拟人滑 ...

  4. Python+Appium【第三章】Adb元素定位

    uiautomatorviewer介绍 操作uiautomatorviewer 定位app界面 Appnium Appnium操作 Appium元素识别 Appium元素定位 Xpath 绝对路径 属 ...

  5. python+appium手机APP自动化基础篇3-找元素定位(anroid)

    1. 定位工具 前言,在环境搭建已经安装anroid-sdk,里面就自带有元素定位的工具.找到uiautomatorviewer.bat文件,位置在D:\android-sdk-windows\too ...

  6. 【Python+Appium】开展自动化测试(十)TouchAction类与MultiAction类(控件元素的滑动、拖动,九宫格解锁,手势操作等)

    目录 前言 一,TouchAction类 1,TouchAction类由webdriver库提供,提供以下方法: 2,tap点击 3,press短按 4,long_press长按 5,move_to移 ...

  7. python+appium爬取微信运动数据,并分析好友的日常步数情况

    python+appium爬取微信运动数据,并分析好友的日常步数情况 声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关 目录 python+appium爬取微信运动数据,并 ...

  8. [607]appium根据屏幕大小滑动界面|通过坐标定位元素

    文章目录 appium根据屏幕大小滑动界面 通过坐标定位元素 appium根据屏幕大小滑动界面 driver.get_window_size() 获取屏幕的宽.高: driver.swipe() 从坐 ...

  9. python+appium判断元素存在_python自动化测试应用--Appium元素篇

    1.1概要 本篇将对和界面元素相关的内容做讲解,比如,查找元素的几种常见方法,还将介绍如何查看app界面上的元素去做定位,最后还将新手经常遇到的问题做个简单的回答. 1.2 查找app界面元素的工具 ...

最新文章

  1. 李宏毅线性代数笔记6:矩阵的计算
  2. [Java基础] 反射机制汇总
  3. [MATLAB学习笔记]peaks函数1013(2)
  4. app_offline.htm 是确有其事
  5. 实例演示在SQL中启用全文检索
  6. 角谷定理python输出变化过程,Python 100例——第十章----定理与猜想
  7. arm搭建云手机教程_教你从0开始部署阿里云服务器,阿里云服务器搭建网站教程...
  8. ActiveReports 报表应用教程 (15)---报表换肤
  9. 理发店收银系统php,【毕业论文】基于php+mysql美发店收银系统设计与实现.doc
  10. C语言与汇编语言的区别
  11. 利用随机数种子来使pytorch中的结果可以复现
  12. Gentoo Portage树服务器(SYNC服务器)的搭建[转]
  13. 全球及中国家具市场消费规模与运营能力状况分析报告2022版
  14. Opencv图像识别从零到精通(34)---SIFI
  15. 阿里云如何将一个域名解析到另一个域名上
  16. python 入门篇 之 正则表达式re.findall的使用
  17. Keras的loss_weights和class_weight
  18. 商务办公软件应用与实践【6】
  19. 多功能Web文件管理器Filestash
  20. 成都计算机应用研究所夏令营,北京师范大学环境学院2015年大学生暑期夏令营...

热门文章

  1. 助力移动AR应用发展,阿里巴巴推出AR开放平台
  2. 从非数组对象转数组方法小结
  3. linux的增删改查、压缩与解压缩
  4. openssl lhash 数据结构哈希表
  5. android 显示Gift图片
  6. Java 反射机制之 Class
  7. priority_queue 用法总结
  8. 使用windows2008R2自带磁盘管理进行分区
  9. 官方数据:程序员年纪越大越出色、越稀有
  10. 【图文详解】,配置NLB群集