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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

用appium 模拟人滑动操作来获取app数据来避免经常换ip的情况,缺点是获取数据的速度会相对较慢,本文就介绍了appium获取数据内容。


一、appium是什么?

1,appium是开源的移动端自动化测试框架;
2,appium可以测试原生的、混合的、以及移动端的web项目;
3,appium可以测试ios,android应用(当然了,还有firefox os);
4,appium是跨平台的,可以用在ios,windows以及linux桌面系统上;

二、使用步骤

1.准备环境

Appium Server GUI 1.22.3-4
Appium Inspector 2022.5.4
夜神模拟器 使用的安卓系统是5.1.1
安卓系统要打开开发者模式,开启USB调试

2.实现思路

  1. 获取数据

通过Appium来操作模拟器来获取数据,用Appium Inspector,我们可以获取到app内的数据的class,id,xpath等,来定位元素的中的数据。
在这里插入图片描述

  1. 判断元素

通过这个方式只能获取到屏幕上显示的内容,所以要通过方法来判断元素是存在代码如下
代码如下:

from selenium.common.exceptions import NoSuchElementException

def isElementPresent(by, value):
    try:
        driver.find_element(by=by, value=value)
    except NoSuchElementException:
        # 打印异常信息
        # print(NoSuchElementException)
        # 发生异常,说明页面中未找到该元素,返回False
        return False
    else:
        # 无异常,说明在页面中找到了该元素,返回True
        return True
  1. 模拟滑动
    模拟人为在滑动app内的内容,通过按住来获取下面产生的新数据,想要滑动后没有产生滑动惯性,就只能通过按下滑动后弹起松手,
    代码如下:
from appium.webdriver.common.touch_action import TouchAction 
# 获取鼠标的位置
def get_size():
    x = driver.get_window_size()['width']
    y = driver.get_window_size()['height']
    return(x,y)
 l = get_size()
 # 取宽的一半
 x1 = int(l[0]*0.5)
 # 从下面开始滑动
 y1 = int(l[1]*0.8)
 # 到上面的一个位置停止
 y2 = int(l[1]*0.25)
action.long_press(x=x1 ,y=y1,duration=2000).move_to(x=x1,y=y2).release().perform()

3.项目实现

在这里插入图片描述


总结

以上就是今天要讲的内容,本文简单介绍了appium的使用,仅供学习交流使用

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值