手机屏幕坐标显示如下:手机左上角为 (0,0),横向是 x 轴,纵向是 y 轴
swipe() 函数介绍:swipe(x1, y1, x2, y2 , t):(x1, y1) 为滑动起始点的坐标,(x2, y2) 为滑动终点坐标,t 为滑动时间,单位为 ms
获取手机的屏幕大小,由于每部手机的屏幕分辨率不一样,所以同一个元素在不同手机上的坐标也是不一样的,滑动的坐标不能写死,可以同通过屏幕宽和高的比例计算
1.上滑:主要操作为图中 B→A,x 轴坐标不变,主要为 y 轴坐标由大变小,由屏幕纵向长度的 75% 变为 25%
2.下滑:主要操作为图中 A→B,x 轴坐标不变,主要为 y 轴坐标由小变大,由屏幕纵向长度的 25% 变为 75%
3.左滑:主要操作为图中 D→C,y 轴坐标不变,主要为 x 轴左边由大变小,由屏幕横向长度的 75% 变为 25%
4.右滑:主要操作为图中 C→D,y 轴坐标不变,主要为 x 轴左边由小变大,由屏幕横向长度的 25% 变为 75%
滑动操作具体脚本如下:
# 滑动操作
from appium import webdriver
class Slide:
driver: webdriver = None
# 获取屏幕大小
def get_screen_size(self):
return self.driver.get_window_size(self)
# 上滑
def swipe_up(self, t):
screen_size = self.get_screen_size()
x1 = screen_size['width'] * 0.5
y1 = screen_size['height'] * 0.75
y2 = screen_size['height'] * 0.25
self.driver.swipe(x1, y1, x1, y2, t)
# 下滑
def swipe_down(self, t):
screen_size = self.get_screen_size()
x1 = screen_size['width'] * 0.5
y1 = screen_size['height'] * 0.25
y2 = screen_size['height'] * 0.75
self.driver.swipe(x1, y1, x1, y2, t)
# 左滑
def swipe_left(self, t):
screen_size = self.get_screen_size()
x1 = screen_size['width'] * 0.75
y1 = screen_size['height'] * 0.5
x2 = screen_size['width'] * 0.25
self.driver.swipe(x1, y1, x2, y1, t)
# 右滑
def swipe_right(self, t):
screen_size = self.get_screen_size()
x1 = screen_size['width'] * 0.25
y1 = screen_size['height'] * 0.5
x2 = screen_size['width'] * 0.75
self.driver.swipe(x1, y1, x2, y1, t)
以上内容有错误的地方,大家多多指正,谢谢!