今天需要用appium完成长按手机屏幕的操作。在网上找了很久,把看到的方法基本都尝试了一次,也没能达到确定长按固定时间的效果。
总结一下这次问题的解决办法:
from appium.webdriver.common.touch_action import TouchAction
from appium import webdriver
#利用appium连接手机设备
def Link_Phone(version, devicename):
PATH = lambda p: os.path.abspath(os.path.join(os.path.dirname(__file__), p))
desired_caps = {}
desired_caps['platformName'] = 'Android' # 设备系统
desired_caps['platformVersion'] = version # 设备系统版本
desired_caps['deviceName'] = devicename # 设备名称
desired_caps['appPackage'] = 'com.android.calculator2'
desired_caps['appActivity'] = '.Calculator'
dr = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
Util.clean_translator_log()
return dr
def long_press(dr):
action1 = TouchAction(dr)
el = dr.find_element_by_id(r'idname')
action1.long_press(el=el,duration=4000).wait(5000).perform()
这样操作后长按的时间是9s的时间,可以根据自己的长按时间的需求修改。