appium2.0+之PointerActions详解

以下内容在 夜神模拟器 上进行。

一、应用场景

一些针对手势的操作,比如滑动、长按、拖动等。可以将这些基本手势组合成一个相对复杂的手势。

二、使用步骤

  1. 创建触摸输入设备(模拟手指操作)

    touch_input = PointerInput(interaction.POINTER_TOUCH, "touch")
    
  2. 创建动作构建器

    action_builder = ActionBuilder(driver, mouse=touch_input)
    
  3. 构建动作
    在这里插入图片描述

  4. 用perform执行完整动作链

    action_builder.perform()
    

三、PointerActions方法详解

按住Ctrl+左键点击pointer_action,再从跳转文件Ctrl+左键点击PointerActions,跳转PointerActions类查看其方法详细内容

在这里插入图片描述

在这里插入图片描述

  • move_to_location(x: int, y: int)

作用:将指针(如手指)移动到屏幕指定坐标(x, y),x:目标位置的 X 坐标(相对于屏幕左上角,单位像素)

  • pointer_down() 按下

pointer_down(
        self,
        button=MouseButton.LEFT,
        width=None,
        height=None,
        pressure=None,
        tangential_pressure=None,
        tilt_x=None,
        tilt_y=None,
        twist=None,
        altitude_angle=None,
        azimuth_angle=None,
    )

对于大多数普通场景(如点击、滑动),无需复杂参数,仅需指定基础动作即可:

action.pointer_action.pointer_down()  
  • pointer_up() 抬起

pointer_up(button=MouseButton.LEFT)
  • move_to():基于元素/坐标移动

支持基于元素或坐标的移动,还可通过参数控制移动过程中的触摸细节(如压力、角度等):

def move_to(
    self,
    element,
    x=0,
    y=0,
    width=None,
    height=None,
    pressure=None,
    tangential_pressure=None,
    tilt_x=None,
    tilt_y=None,
    twist=None,
    altitude_angle=None,
    azimuth_angle=None,
)
  1. 基于元素的移动
    以元素为基准,通过 x/y 设定相对偏移(适合元素位置动态变化的场景):

    # 移动到元素的右上角(元素左上角 + 宽偏移,高0)
    element = driver.find_element('id', 'target_btn')
    action.pointer_action.move_to(
        element=element, 
        x=element.size['width'],  # 相对元素左上角X偏移(等于元素宽度→右上角)
        y=0  # 相对元素左上角Y偏移0
    )
    
  2. 基于绝对坐标的移动

    action.pointer_action.move_to(x=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值