以下内容在 夜神模拟器 上进行。
一、应用场景
一些针对手势的操作,比如滑动、长按、拖动等。可以将这些基本手势组合成一个相对复杂的手势。
二、使用步骤
-
创建触摸输入设备(模拟手指操作)
touch_input = PointerInput(interaction.POINTER_TOUCH, "touch") -
创建动作构建器
action_builder = ActionBuilder(driver, mouse=touch_input) -
构建动作

-
用perform执行完整动作链
action_builder.perform()
三、PointerActions方法详解
按住Ctrl+左键点击pointer_action,再从跳转文件Ctrl+左键点击PointerActions,跳转PointerActions类查看其方法详细内容


作用:将指针(如手指)移动到屏幕指定坐标(x, y),x:目标位置的 X 坐标(相对于屏幕左上角,单位像素)
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(button=MouseButton.LEFT)
支持基于元素或坐标的移动,还可通过参数控制移动过程中的触摸细节(如压力、角度等):
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,
)
-
基于元素的移动
以元素为基准,通过 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 ) -
基于绝对坐标的移动
action.pointer_action.move_to(x=

最低0.47元/天 解锁文章
812

被折叠的 条评论
为什么被折叠?



