pages/desktop/frontend/extensions.py (26 lines of code) (raw):

from selenium.webdriver.common.by import By from pages.desktop.base import Base from regions.desktop.categories import Categories from regions.desktop.shelves import Shelves from selenium.webdriver.support import expected_conditions as EC class Extensions(Base): URL_TEMPLATE = "extensions/" _title_locator = (By.CLASS_NAME, "LandingPage-addonType-name") _header_summary_locator = (By.CSS_SELECTOR, ".LandingPage-header p") def wait_for_page_to_load(self): self.wait.until(lambda _: self.is_element_displayed(*self._title_locator)) return self @property def title(self): self.wait.until(EC.visibility_of_element_located(self._title_locator)) return self.find_element(*self._title_locator).text @property def header_summary(self): self.wait.until(EC.visibility_of_element_located(self._header_summary_locator)) return self.find_element(*self._header_summary_locator).text @property def categories(self): return Categories(self) @property def shelves(self): return Shelves(self)