Я пытаюсь написать функцию «двойного нажатия» для гибридного приложения.Это хорошо работает в эмуляторах Android, но не в эмуляторе iOS (Iphone SE, iOS 12)
from selenium.webdriver.common.touch_actions import TouchActions
element = driver.find_element_by_id(id) # returns WebElement
actions = TouchActions(driver)
actions.double_tap(element)
В iOS возвращается «ошибка метода не реализована»
Однако это работаетв iOS:
driver.execute_script('mobile: doubleTap', {'x':100, 'y':100})
Однако проблема заключается в получении правильного значения x / y для WebElement.Значение loc
, кажется, имеет 0,-1
для x и y.
Лучший подход - передать элемент на mobile:doubleTap
- Согласно документации 1015 *, мне нужно получить "хэш-ссылку" элемента, и это не представляется возможнымс WebElement
(element.get_attribute('id')
просто возвращает имя идентификатора.
Итак, вопрос:
- Как дважды щелкнуть элемент WebElement таким образом, который работает для iOS?