У меня проблема с определением элементов на мобильном сайте, в настоящее время использующем Appium и Python.У меня есть меню гамбургера на сайте, и, когда по нему щелкают, отображается несколько ссылок.
Я попытался определить эти «скрытые» элементы с помощью MobileBy и ExpectedConditions (см. Ниже).Однако, когда я делаю это, я получаю сообщение о том, что объект не существует, поскольку я еще не раскрыл меню гамбургера.
Версия ExpectedCondition:
self.aboutLink = WebDriverWait(self.driver.instance, 10).until(
EC.visibility_of_element_located((
MobileBy.LINK_TEXT, "About")))
Версия MobileBy
self.driver.instance.find_element(MobileBy.LINK_TEXT, "About").click()
Когда речь заходит о самом тесте, он терпит неудачу, так как объект aboutLink был определен выше, и его нельзя увидеть, пока не нажмется меню гамбургера.
@allure.step("Validate homepage links")
def validate_links(self):
self.hamburgerLink.click()
time.sleep(2)
# self.about.click()
self.aboutLink.click()
Ребята, знаете ли вы какие-либохороший способ обойти это?Я хочу создавать многократно используемые объекты и не зависеть от предварительного нажатия меню гамбургера, чтобы иметь возможность определить эти объекты (например, ссылки, скрытые в меню).
Спасибо