我目前在使用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()
你们知道解决这个问题的任何好方法吗?我想创建可重用的对象,而不必事先单击汉堡包菜单即可定义这些对象(例如菜单中隐藏的链接)。
谢谢