启动页面滑动及使用

一、页面滑动原理:
因为页面上没有可使用的任何元素,所以页面滑动原理即为坐标轴原理,值得注意的是,这个坐标轴不想我们初中数学的坐标轴(分为四个象限),即我们学习的这个坐标轴左上角为(0,0)点,y向下,x向右,没有负数的情况
在这里插入图片描述
我们向左滑动:x为:从600——>50
向右滑动:x为从50——>600
在这里插入图片描述
向上、向下滑动:
在这里插入图片描述
说了这么多,其实在appium里面,我们要用的函数是:
driver.swipe(x,y,x1,y1,time)
我们通过adb tools文件里面的uiautomatorviewer.bat获取坐标点
在这里插入图片描述
坐标点区间如下:
在这里插入图片描述
具体代码实现如下:

# coding=utf-8

from appium import webdriver

desired_caps = {
                'platformName': 'Android',
                'deviceName': '127.0.0.1:62001',
                'platformVersion': '5.1.1',
                # apk包名
                'appPackage': 'com.sina.weibo',
                # apk的launcherActivity
                'appActivity': 'com.sina.weibo.VisitorMainTabActivity'
                }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
driver.swipe(700,400,50,400)  #不带滑动时间
driver.swipe(700,400,50,400,2000)   #带滑动时间2s

如上代码,我们可以看到是有缺点的,我们固定了坐标轴,如果我们换一个手机,上面的代码是不是可能就不好使了,所以我们就要换一种方案:通过屏幕比例
代码如下:

# coding=utf-8

from appium import webdriver
desired_caps = {
                'platformName': 'Android',
                'deviceName': '127.0.0.1:62001',
                'platformVersion': '5.1.1',
                # apk包名
                'appPackage': 'com.sina.weibo',
                # apk的launcherActivity
                'appActivity': 'com.sina.weibo.VisitorMainTabActivity'
                }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
size = driver.get_window_size()  #获取屏幕大小
width = size["width"]   #获取宽度
height = size["height"]  #获取高度
x1 = width/10*9    #9/10 处
y1 = height/2      #1/2出
x = width/10
driver.swipe(x1,y1,x,y1)

但是这样写的话,如果有1000个屏幕,这样写是不是很繁琐,所以,我们要学习python函数(封装),如果其他地方要是用这个方法,就可以调用:
封装:就是把重复的代码封装在一个盒子里,其他地方用到,调用就可以了,减少了代码的重复性,增加了复用性

# coding=utf-8

from appium import webdriver
def get_driver():
    desired_caps = {
                    'platformName': 'Android',
                    'deviceName': '127.0.0.1:62001',
                    'platformVersion': '5.1.1',
                    # apk包名
                    'appPackage': 'com.sina.weibo',
                    # apk的launcherActivity
                    'appWaitActivity': 'com.sina.weibo.VisitorMainTabActivity' #切换activity
                    }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
    return driver
driver = get_driver()
#获取屏幕宽高
def get_size():
    size = driver.get_window_size()
    width = size["width"]
    height = size["height"]
    return width,height

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

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

#向上滑动
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)

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

#滑动方向
def swipe_on(direction):
    if direction == "left":
        swipe_left()
    elif direction == "right":
        swipe_right()
    elif direction == "up":
        swipe_up()
    else:
        swipe_down()
swipe_on("up")

在调试过程中,遇到一个问题:

在使用appium过程中遇到了执行一个用例时有多个不同的acitivity的情况,以下为app内部切换acitivity的方法:
如果需要多次切换activity,则appWaitActivity来实现。

    desired_caps = {
                    'platformName': 'Android',
                    'deviceName': '127.0.0.1:62001',
                    'platformVersion': '5.1.1',
                    # apk包名
                    'appPackage': 'com.sina.weibo',
                    # apk的launcherActivity
                    'appWaitActivity': 'com.sina.weibo.VisitorMainTabActivity' #切换activity
                    #'appActivity': 'com.sina.weibo.VisitorMainTabActivity'  # 不能切换activity
                    }
    driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

这篇主要说明了启动页面滑动使用了函数,还有一个注意点,就是多个不同的acitivity的情况

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 对于您的问题,可以通过CSS3中的动画属性来实现页面文字向上滑动特效。具体步骤如下: 1. 在CSS中定义一个动画,指定动画名称、持续时间、动画效果等属性,如下所示: @keyframes slide-up { from { transform: translateY(0); } to { transform: translateY(-100%); } } 2. 在需要应用动画的元素上添加样式,指定动画名称、持续时间、动画效果等属性,如下所示: .slide-up { animation: slide-up 1s ease-in-out forwards; } 其中,animation属性中的forwards属性用于使动画结束后元素保持最后一个关键帧的状态,也就是保持在向上滑动的最终位置。 通过上述步骤,即可实现页面文字向上滑动的特效。 ### 回答2: 滑动页面文字向上滑动特效是一种常见的网页设计效果,可以让网页看起来更加动态和有趣。实现这个特效的方法有很多种,下面我给出一个简单的实现思路。 首先,我们需要使用HTML和CSS来创建一个基本的页面结构。在HTML中,我们可以使用`<div>`或其他元素来包含我们要滑动的文字。在CSS中,我们可以为这个元素设置宽度、高度、背景颜色等样式属性。 接下来,我们需要使用JavaScript来实现滑动效果。我们可以监听用户滚动事件,并根据滚动的位置和方向,通过改变元素的位置属性来实现滑动效果。具体地,我们可以使用`window.pageYOffset`来获得用户滚动的垂直位置,然后根据这个值来改变元素的`top`属性,实现向上滑动的效果。 例如,我们可以通过监听`scroll`事件来触发一个函数,该函数会将滚动位置乘以一个系数,然后将结果设置为元素的`top`属性。这样,无论用户向上还是向下滚动,元素都会根据滚动的距离移动相应的位置。 当然,如果我们想要更加复杂和炫目的滑动效果,可以使用CSS动画来实现。我们可以定义一个动画,将元素从初始位置移到预定位置,并设置动画的持续时间和过渡效果。然后,当触发滚动事件时,我们可以通过为元素添加和移除CSS类来启动和停止动画。 总之,滑动页面文字向上滑动特效可以通过结合HTML、CSS和JavaScript来实现。使用JavaScript可以监听滚动事件,并通过改变元素的位置属性来实现滑动效果,而使用CSS动画可以实现更加复杂和炫目的效果。这样,我们就可以为网页添加一个动态和有趣的滑动特效。 ### 回答3: 滑动页面文字向上滑动特效指的是在网页或手机应用中,将页面上的文字以一定速度向上滑动的动态效果。 实现这种特效的方法有很多种,可以通过CSS、JavaScript或者jQuery等技术实现。下面我介绍一种常见的实现方式。 首先,在HTML中创建一个包含需要滑动的文字的容器,可以是一个div元素: ```html <div id="scrolling-text-container"> <p>这里是需要滑动的文字内容。</p> </div> ``` 接下来,在CSS中设置容器和文字的样式,包括文字颜色、大小、字体等属性,并将容器设置为固定高度和隐藏溢出: ```css #scrolling-text-container { height: 100px; overflow: hidden; } #scrolling-text-container p { font-size: 16px; color: #000; font-family: Arial, sans-serif; } ``` 然后,使用JavaScript或jQuery来控制文字的滑动效果。这里以JavaScript为例: ```javascript var container = document.getElementById("scrolling-text-container"); var text = container.getElementsByTagName("p")[0]; var speed = 50; // 滑动速度,单位为像素/秒 var delay = 2000; // 停留时间,单位为毫秒 function scrollUp() { container.scrollTop++; if (container.scrollTop >= text.offsetHeight) { container.scrollTop = 0; } } var scrollInterval = setInterval(scrollUp, speed); container.onmouseenter = function() { clearInterval(scrollInterval); } container.onmouseleave = function() { scrollInterval = setInterval(scrollUp, speed); } setTimeout(function() { clearInterval(scrollInterval); }, delay); ``` 以上代码中,首先通过getElementById和getElementsByTagName获取到容器和文字的元素,然后使用scrollTop属性来控制滑动效果。通过不断递增scrollTop的值,达到滑动的效果。当文字滑动到容器底部时,将scrollTop重置为0,实现文字的循环滚动。还通过添加鼠标事件和定时器来控制文字的暂停和停止。 通过以上的CSS和JavaScript代码,便可以实现滑动页面文字向上滑动的特效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值