Source code for pages.twitter.home
"""The OpenStax Twitter landing page."""
from time import sleep
from pypom import Page
from selenium.webdriver.common.by import By
[docs]class Twitter(Page):
"""The OpenStax Twitter feed."""
URL_TEMPLATE = 'https://twitter.com/openstax'
_body_tag_locator = (
By.CSS_SELECTOR, 'body')
_username_locator = (
By.CSS_SELECTOR, 'a[href*=OpenStax][role=link]')
@property
def loaded(self):
"""Return True if the username is found."""
self.wait.until(
lambda _: self.find_elements(*self._body_tag_locator))
script = (r'document.addEventListener("load", function(event) {});')
sleep(0.5)
return (self.driver.execute_script(script) or
bool(self.find_elements(*self._username_locator)))
[docs] def is_displayed(self):
"""Return True if the main content is loaded."""
return self.find_element(*self._username_locator).is_displayed()
@property
def location(self):
"""Return the current URL."""
return self.driver.current_url