美文网首页
TouchActions中scroll_from_element

TouchActions中scroll_from_element

作者: 鲍尔柯察金 | 来源:发表于2017-11-22 18:06 被阅读0次

最近做的项目是微信公众号,涉及到H5页面。在Chrome上进行UI自动化测试,涉及到滚动选择的界面,类似下面这种:


image.png

这种界面需要向上或者向下滑动,尝试使用Selenium的ActionChains类中的drag_and_drop函数来实现元素拖动,发现不适用,drag_and_drop是针对浏览器页面的函数,而图片所示的为移动端的H5页面。怎么解决?

查看selenium API后发现这么一个类: image.png

touch_actions,从类名我们可以知道,这个类面向的是移动设备的触摸操作。
打开文件我们会发现里面有一个scroll_from_element函数:
'''

def scroll_from_element(self, on_element, xoffset, yoffset):
    """
    Touch and scroll starting at on_element, moving by xoffset and yoffset.

    :Args:
     - on_element: The element where scroll starts.
     - xoffset: X offset to scroll to.
     - yoffset: Y offset to scroll to.
    """
    self._actions.append(lambda: self._driver.execute(
        Command.TOUCH_SCROLL, {
            'element': on_element.id,
            'xoffset': int(xoffset),
            'yoffset': int(yoffset)}))
    return self

'''
通过英文注释我们可以知道这个函数的作用是将一个特定元素沿x轴移动xoffset,沿y轴移动yoffset.
注意这里的offset并不是坐标,我曾将它误认为是坐标,导致走了不少弯路。在代码中一般用coord来表示坐标,而用offset表示偏移量。
既然谈到偏移量,那我们怎么获取offset值呢?


image.png

很简单,F12查看你要拖动的元素的height,以上图为例,我们可以看到上图的height为41.4px,px即像素。如果你想像上/下滑动元素,那么xoffset的偏移量就为0,yoffset就应该是41.4px的倍数。

相关文章

  • TouchActions中scroll_from_element

    最近做的项目是微信公众号,涉及到H5页面。在Chrome上进行UI自动化测试,涉及到滚动选择的界面,类似下面这种:...

  • 用Selenium模拟页面滚动

    TouchActions:模拟pc和h5的点击,滑动,拖拽,多点触控等多种手势操作实现方法:new_action....

  • 中中

    中中

  • 中中宝宝

    哦剧痛

  • 周中中,

    今天只有下午有课---薯仔的供变电技术。本来打算上午去前山市场买食材,自己煮点汤喝的。但是穿好我的灰色连衣裙,收拾...

  • 重逢(中中)

    此后,细妹再也没有提起回老家这件事了,人也变得呆若木鸡了,常常一个人躲在角落里喃喃自语,说着别人听不懂的话。 有一...

  • 疑惑中!质疑中!不解中

    您的体检有异常——高血脂。什么什么,高血脂。平常特别注重养生生活的我,居然有高血脂。 难以置信,搞错了...

  • 业余中,努力中

  • 徐中,徐中

    那是迄今为止最努力的三年。 开始的开始,我们都是孩子 最后的最后,渴望变成天使 歌谣的歌谣唱着童话的影子 孩子的孩...

  • 无中无中

    其实,我有一句话要说,我们生活的这个叫做地球的地方其实是一个原子,我们所处的位置就像是我们身边随处可以拿到的任何...

网友评论

      本文标题:TouchActions中scroll_from_element

      本文链接:https://www.haomeiwen.com/subject/vsdovxtx.html