Я не могу активировать кнопку <ion-toggle>
с помощью клиента appium / python.
Вот шаблон HTML:
<ion-toggle id="testaut_useauth_toggle"
ng-change="toggleAuth()"
ng-model="wizard.useauth"
toggle-class="toggle-calm">{{'kWizUseAuth' |
translate}}
</ion-toggle>
Код моего appium test.py:
self.click_item("testaut_useauth_toggle")
def click_item(self,id, wait=5):
element = self.driver.find_element_by_id(id)
element.click()
sleep(wait)
Я получаю ошибку:
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: unknown error: Element <div class="item item-toggle toggle-small ng-not-empty ng-valid" id="testaut_useauth_toggle" ng-change="toggleAuth()" ng-model="wizard.useauth" toggle-class="toggle-calm" style="">...</div> is not clickable at point (180, 190). Other element would receive the click: <section ng-show="selected" ng-class="{current: selected, done: completed}" class="step current" ng-transclude="" wz-title="2" style="">...</section>
(Session info: chrome=55.0.2883.91)
"Другой элемент", "wz-title" - это в основном угловой шаблон мастера, который я использую. Он используется моим приложением и на других экранах, и у меня нет проблем с нажатием кнопок, поэтому проблема заключается в этом тумблере (который ионный реализует как флажок)
Альтернативный подход, который я попробовал и потерпел неудачу:
def tap_item(self,id,wait=5):
print ('Tapping item: {}'.format(id))
element = self.driver.find_element_by_id(id)
#self.driver.execute_script("arguments[0]).click();", element);
self.driver.execute_script("document.getElementById(arguments[0]).click();", id);
Здесь нет ошибки, но она не активируется
Любая помощь будет оценена.
Учитывая, что это веб-приложение, я не могу найти какое-либо местоположение. Tap не работает, потому что метод не реализован для WebView