使用python+appium实现手机屏幕滑动(swipe)

本文介绍了如何使用Python结合Appium库来实现手机屏幕的滑动操作。通过`Swipe`函数,传入不同的坐标参数,可以根据设备屏幕尺寸动态调整,提高代码的通用性。文中提供了一个示例代码,展示了获取屏幕大小并执行向上滑动的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里我们使用到的函数是swipe

语法:

Swipe(int start x,int start y,int end x,int y,duration)

解释:int start x-开始滑动的x坐标,

  int start y -开始滑动的y坐标。

   int end x -结束点x坐标,

   int end y -结束点y坐标。

   duration 滑动时间(默认5毫秒)

给swipe指定坐标,因为每个手机的屏幕分辨率不一样,指定一个固定的坐标,并不是适用所有手机,所以这里可以通过获取手机屏幕坐标实现,提升代码重用。

dr=self.driver=webdriver.Remote(url,desired_caps)

#获得机器屏幕大小x,y
def getSize():
    x = dr.get_window_size()['width']
    y = dr.get_window_size()['height']

    return (x, y)

屏幕的坐标图,向上滑动屏幕就是x轴不变,y轴由大到小的变化过程



#屏幕向上滑动
def  swipeUp(t):
     =  getSize()
     x1  =  int (l[ 0 *  0.5 )   #x坐标
     y1  =  int (l[ 1 *  0.75 )    #起始y坐标
在安卓调试APP时,如果APP限制了截图功能,并且ADB也无法截图,可以通过以下几种方法绕过这个限制: 1. **使用无障碍服务**: 你可以开发一个无障碍服务,通过无障碍服务来获取屏幕截图。无障碍服务可以模拟用户操作,并且可以获取屏幕内容。 ```python import androidhelper droid = androidhelper.Android() droid.startAccessibilityService() screenshot = droid.takeScreenshot() droid.stopAccessibilityService() ``` 2. **使用第三方工具**: 有些第三方工具可以绕过APP的限制进行截图,例如`Screenster`或`Screener`。这些工具通常通过模拟用户操作来获取屏幕截图。 3. **使用Xposed框架**: Xposed框架可以通过修改系统行为来绕过截图限制。你可以使用一些特定的模块,如`Screen Capture Enabler`,来启用截图功能。 ```python import os os.system("adb shell su -c 'pm enable com.example.screenshot'") os.system("adb shell screencap -p /sdcard/screenshot.png") os.system("adb pull /sdcard/screenshot.png") ``` 4. **使用设备自带的截图功能**: 有些设备自带的截图功能可能没有被APP限制,可以通过设备的快捷键或手势来进行截图,然后通过ADB将截图文件传输到电脑。 ```python os.system("adb shell input keyevent 26") # 锁定屏幕 os.system("adb shell input keyevent 82") # 打开通知栏 os.system("adb shell input swipe 300 1000 300 500") # 滑动屏幕 os.system("adb shell screencap -p /sdcard/screenshot.png") os.system("adb pull /sdcard/screenshot.png") ``` 通过以上方法,你可以在APP限制截图的情况下进行截图操作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值