时间:2023-02-24 09:15:46 | 栏目:Python代码 | 点击:次
首先从appium库里面导入webdriver,然后webdriver.Remote()声明driver对象。
想要使用TouchAction,必须要创建TouchAction对象,通过对象调用想要执行的手势,通过perform()执行动作。
#导入TouchAction from appium.webdriver.common.touch_action import TouchAction
driver.find_element_by_id("com.android.settings:id/search").click()
tap(element,x,y)可以通过元素定位的方式敲击,也可以通过元素坐标的方式。
# 通过元素定位方式敲击屏幕 el = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]") TouchAction(driver).tap(el).perform() #perform()方法发送命令到服务器执行操作 # 通过坐标方式敲击屏幕,元素坐标:x=149,y=324 TouchAction(driver).tap(x=149,y=324).perform()
press(elemnet,x,y)可以通过元素定位的方式按下,也可以通过元素坐标的方式按下。
release()方法为结束动作,手指按下之后离开屏幕。
# 通过元素定位方式按下屏幕 el = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]") TouchAction(driver).press(el).release().perform() #通过坐标的方式,元素坐标x=149,y=324 TouchAction(driver).press(147,324).release().perform()
长按相对于按下来说增加了按下的时间长短,所以参数多了一个duration单位是毫秒。
long_press(elemnet,x,y,duration)也是可以通过元素定位的方式按下,也可以通过元素坐标的方式按下。
el =driver.find_element_by_id("android:id/title") # 通过元素定位方式长按元素 TouchAction(driver).long_press(el,duration=5000).release().perform() # 通过坐标方式长按元素,WiredSSID坐标:x=770,y=667 #wait(5000)等待五秒 # 添加等待(有长按X效果)/不添加等待(无长按效果) TouchAction(driver).long_press(x=770,y=667,duration=5000).release().perform()