环境是:appium 1.4.16+python
目前网上查的代码是:

action1 = TouchAction(self.driver)
el = self.driver.find_element_by_id('XXXXX1')
action1.long_press(el).wait(10000).perform()

action2 = TouchAction(self.driver)
el = self.driver.find_element_by_id('XXXXX2')
action2.moveTo(el).release().perform()

按照上面的代码没有实现长按,貌似是 0.2s 的时间,不是 10s,然后我自己获取控件然后再获取坐标来定位的,
按照下面两个方法执行:
第一种:

from selenium.webdriver.common.touch_actions import TouchActions
action1=TouchActions(driver)
el = driver.find_element_by_id(" ")
elx=el.location.get('x')
ely=el.location.get('y')
action1.tap_and_hold(elx,ely).perform()
time.sleep(3)
action1.release(elx,ely).perform()

第二种:

el = driver.find_element_by_id(" ")
elx=el.location.get('x')
ely=el.location.get('y')
driver.swipe(elx,ely,elx,ely,duration)

请问对于 action1.long_press(el).wait(10000).perform() 到底能不能执行,看了社区一个帖子有人说可以,但是我实际操作起来不行,还有人回答修改默认的 duration 的,如果不修改就用 action1.long_press(el).wait(10000).perform() 到底要怎样才可以执行才按,谢谢

目前修改成:action1.long_press(el ,None,None,10000).perform() 就可以了,
参照这个方法我就可以用 tap 多次点击了:action1.tap(el,None,None,2).perform()


↙↙↙阅读原文可查看相关链接,并与作者交流