请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

虚拟机上滑操作不生效

老师,为什么我的上滑操作没有生效?也没报错,您之前视频中也有这个问题,最后怎么解决的?

# coding:utf-8
from appium import webdriver
import time
def get_driver():
   capabilities = {
       "platformName": "Android",        #设备系统
       "deviceName": "127.0.0.1:21503",  #adb devices 命令下的设备编号
       "app": "C:\\mukewang.apk",   #apk地址
       "appActivity": "cn.com.open.mooc.index.splash.GuideActivity"  #程序入口,1.7版本以上的Appium可以不维护该参数,如果系统找不到可以维护
   }
   driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",capabilities)
   return driver

#获取屏幕的宽和高
def get_size():
   size = driver.get_window_size()
   width = size["width"]
   height = size["height"]
   return width,height

#向左边滑动
def swipe_left():
   x1 = get_size()[0]/10*9
   y1 = get_size()[1]/2
   x = get_size()[0]/10
   driver.swipe(x1,y1,x,y1,2000)

#向右边滑动
def swipe_right():
   x1 = get_size()[0]/10
   y1 = get_size()[1]/2
   x = get_size()[0]/10*9
   driver.swipe(x1,y1,x,y1,2000)

#向上滑动
def swipe_up():
   x1 = get_size()[0]/2
   y1 = get_size()[1]/10*9
   y = get_size()[1]/10
   driver.swipe(x1,y1,x1,y,2000)

#向下滑动
def swipe_down():
   x1 = get_size()[0]/2
   y1 = get_size()[1]/10
   x = get_size()[0]/10*9
   driver.swipe(x1,y1,x1,y,2000)

def swipe_on(direction):
   if direction == "up":
       swipe_up()
   elif direction == "down":
       swipe_down()
   elif direction == "left":
       swipe_left()
   else:
       swipe_right()

driver = get_driver()
swipe_on("left")
swipe_on("left")
swipe_on("right")
swipe_on("left")
swipe_on("up")
time.sleep(10)

正在回答 回答被采纳积分+3

2回答

qq_XF_9 2020-12-19 00:06:32

我也是一样的呀,咋解决的呀,咋没下文了

0 回复 有任何疑惑可以回复我~
  • 你机器假如100宽 90长。你去操作滑动的时候 只能够从80左右 滑动到20  ,宽是 从70左右滑动到20 .因为你边框会占据一些距离
    回复 有任何疑惑可以回复我~ 2020-12-20 00:01:54
  • qq_XF_9 回复 Mushishi #2
    不是大小取的不对,是因为这个地方我写成如下:
    "appActivity" : "cn.com.open.mooc.index.splash.GuideActivity"
    当我改成:"appWaitActivity" : "cn.com.open.mooc.index.splash.GuideActivity"就可以,还是不懂这个为啥改成appWaitActivity 就可以正常向上滑动并到注册界面?
    老师解答下呀,多谢呀
    回复 有任何疑惑可以回复我~ 2020-12-20 23:23:29
  • Mushishi 回复 qq_XF_9 #3
    我们app启动有一个activity,然后有的app 启动第一次之后得第一activity会变化。这个你看一下appium得运行日志你会发现。就说你启动之后,你发现你appium日志里面一直会展示你找到得activity  如果你配置错误 就会一直找一个activity,然后告诉你他找到得。这里你把app activity 更改为cn.com.open.mooc.index.splash.GuideActivity 就能够正常
    回复 有任何疑惑可以回复我~ 2020-12-21 21:46:25
Mushishi 2018-07-20 21:48:26

你好,操作界面元素问题。就是你操作得界面定位。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕仰2574326 #1
    老师能说的更明白点吗,我的上滑操作的对象和您是一样的,也是慕课网老版app,用swipe方法也不需要定位到某个元素,只是按10分之9向10分之1向上滑,为什么就不生效呢,您有一节课也是没有生效,后来怎么解决的没有说
    回复 有任何疑惑可以回复我~ 2018-07-22 17:36:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信