长按控件----TouchAction

在界面按键没有元素进行定位的可以用TouchAction这个函数

TouchAction包含一系列操作,例如短按、长按、点击、移动、暂停,由不同的操作可以组成一套动作,使用TouchAction需要先导入对应的模块:

from appium.webdriver.common.touch_action import TouchAction

对应操作的方法:

短按:press()  按压一个元素或坐标

TouchAction(driver). press(x,y)

长按:longpress()  比按压多个一个duration(按压时间)时间参数,以毫秒为单位

TouchAction(driver).longpress(x,y,1000)

点击:tap()

移动:move_to()

暂停:wait() 等待时间,单位毫秒

释放:release() 结束屏幕上的一系列动作的命令操作

执行:perform() 讲执行的操作发送到服务器的命令操作

组合示例:

TouchAction(driver). press(x,y) .wait(1000).move_to(x2,y2).release() .perform()

#短按点击->等待1000毫秒->移动->释放-传送至服务器

TouchAction(driver). press(x,y) .wait(1000).move_to(x2,y2).release()

#短按点击->等待1000毫秒->移动->释放

TouchAction(driver). press(x,y) .wait(1000).release() .perform()

#短按点击->等待1000毫秒->释放-传送至服务器

TouchAction(driver). press(x,y) .wait(1000).release()

#短按点击->等待1000毫秒->释放

登录手操作:

for i in range (2):

#循环执行语句range(2)含义是将1传递给i,以此类推range(3)则表示将1,2传递给i,也就是函数执行2次

TouchAction(driver).press(x1,y1).wait(1000),move_to(x2,y2).move_to(x3,y3).wait(1000).move_to(x4,y4).wait(1000).move_to(x5,y5).release().perform()

#其中x和y值是移动的目标坐标点,最后释放屏幕操作,并将一系列动作发送到服务器执行。

你可能感兴趣的:(长按控件----TouchAction)