Appium appium+python 环境,元素只有 class:android.view.View,要实现上下滑动,切换里面内容,swipe 试过不能滑动,哪位遇到过这类问题并且解决,请多多指导!!!

Magicchn · 2018年07月17日 · 最后由 Magicchn 回复于 2018年07月18日 · 2603 次阅读
  • 上图
    • 目标元素
    • 使用 swipe 总是失败,来求助各位!!!
最佳回复
Magicchn 回复


大概是这样啊,然后调用swipe(startx,starty,endx,endy,duration)

共收到 13 条回复 时间 点赞

滑动坐标

只要坐标计算准确了,滑动应该没问题的,我们的省市区也是这种都可以选择呀

笑哼 回复

屏幕大小不一样,计算坐标恐怕有局限

雨夜狂奔 回复

计算坐标恐怕有局限

雨夜狂奔 回复

坐标的话使用哪个方法,swipe,麻烦请具体写一下你的代码

使用 TouchAction(driver).press(element1).move_to(x=0, y=-10).wait(1000).release().perform(),操作可以滑动,但是滑动量看起来很大,滑动的都看不见选项了,但是偏移量只有-10(向上滑动),方框的宽度是 90

Magicchn 回复

计算坐标的目的就是为了适配不同的屏幕,还要计算控件的尺寸,确定滑动的偏移量。

Magicchn 回复


大概是这样啊,然后调用swipe(startx,starty,endx,endy,duration)

yuxichou 回复

好的,多谢!

雨夜狂奔 回复

谢谢,我试下

雨夜狂奔 回复

谢谢,已经成功了,swpie() 方法确实可用,解决了一大难题,这样的操作有很多。我之前用的是自己封装的滑动方法,没有精确计算坐标,只是比例计算,每次滑动都是一闪而过,再次感谢你提供的详细说明!
附上最新的滑动封装:
def swipeup_slight(self, n=1):
for i in range(n):
self.swipe(540, 1681, 540, 1591, 200)

Magicchn 回复

如果要在不同机器执行,分辨率什么的不一样,可以把坐标计算也放在代码里面,因为元素大小和位置是很容易获取的,所以坐标计算也很好做

雨夜狂奔 回复

多谢!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册