Пример #1
0
 def __call__(self, ignored):
     if self.elements != None:
         if type(self.elements) == list:
             self.elems = [
                 element for element in self.elements
                 if EC._element_if_visible(element)
             ]
             if len(self.elems) > 0:
                 self.elem = self.elems[0]
                 return self.elem
         else:
             self.elem = EC._element_if_visible(self.elements)
             return self.elem
     elif self.locators_list != None and self.element_name != None:
         for key, val in self.locators_list.items():
             if key == self.element_name:
                 if val[0] == 'Finds':
                     self.elems = [
                         element for element in Driver.get().find_elements(
                             val[1], val[2])
                         if EC._element_if_visible(element)
                     ]
                     if len(self.elems) > 0:
                         self.elem = self.elems[0]
                         return self.elem
                 elif val[0] == 'Find':
                     self.elem = EC._element_if_visible(
                         Driver.get().find_element(val[1], val[2]))
                     return self.elem
             else:
                 pass
Пример #2
0
 def __call__(self, driver):
     try:
         if isinstance(self.locator, WebElement):
             return _element_if_visible(self.locator)
         return _element_if_visible(_find_element(driver, self.locator))
     except StaleElementReferenceException:
         return False
Пример #3
0
 def wait_for_resultpage_to_be_loaded(self):
     try:
         wait = WebDriverWait(self.driver, 10)
         wait.until(
             expected_conditions._element_if_visible(Locators.x_rent_btn))
     finally:
         return False
Пример #4
0
 def __call__(self, driver):
     elements = [
         element
         for element in EC._find_elements(driver, self.locator)
         if EC._element_if_visible(element)
     ]
     return elements if len(elements) == 2 else False
Пример #5
0
 def find_visible_element(self, *loc):
     try:
         ele = WebDriverWait(self.driver,
                             2).until(EC._element_if_visible(loc))
         return ele
     except TimeoutError as e:
         logger.info('元素不可见' + str(loc))
         raise e
Пример #6
0
 def wait_for_homepage_to_be_loaded(self):
     try:
         wait = WebDriverWait(self.driver, 10)
         wait.until(
             expected_conditions._element_if_visible(
                 Locators.id_google_logo))
     finally:
         return False
Пример #7
0
 def __call__(self, driver):
     js = """var components = Ext.ComponentQuery.query('%s')
             return components.length && components[0].id""" % (
         self.locator)
     print js
     id = driver.execute_script(js)
     locator = By.CSS_SELECTOR, '#%s' % id
     return _element_if_visible(_find_element(driver, locator))
Пример #8
0
 def __call__(self, driver):
     try:
         elements = _find_elements(driver, self.locator)
         visible_elements = []
         for e in elements:
             element_visible = _element_if_visible(e)
             if element_visible:
                 visible_elements.append(element_visible)
         return visible_elements if len(visible_elements) > 0 and len(
             visible_elements) == len(elements) else False
     except StaleElementReferenceException:
         return False
Пример #9
0
 def __call__(self, driver):
     try:
         element = _element_if_visible(_find_element(driver, self.locator))
         if element:
             location = element.location
             sleep(.2)
             if element.location == location:
                 return element
         else:
             return False
     except NoSuchElementException:
         return False
Пример #10
0
    def __call__(self, browser):
        try:
            all_elements_are_visible = True
            for locator in self.locators:
                el = EC._find_element(browser, locator)
                is_visible = EC._element_if_visible(el)
                if not is_visible:
                    all_elements_are_visible = False
                    break

            return all_elements_are_visible
        except StaleElementReferenceException:
            return False
Пример #11
0
 def __call__(self, driver):
   elements = [element for element in EC._find_elements(driver, self.locator) if EC._element_if_visible(element)]
   return elements if len(elements) == 2 else False
Пример #12
0
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC

from selenium.webdriver.support.wait import WebDriverWait

driver = webdriver.Chrome()
driver.get("http://localhost/index.php?m=user&c=public&a=login")
# 4.输入用户名和密码
driver.find_element_by_id("username").send_keys("yaonan")
driver.find_element_by_id("password").send_keys("123456")
# 5.点击登录按钮
driver.find_element_by_class_name("login_btn").click()

#WebDriverWait(driver,20,0.5).until(expected_conditions.)
WebDriverWait(driver, 20, 0.5).until(
    EC._element_if_visible(driver.find_element_by_link_text("进入商城购物")))
driver.find_element_by_link_text("进入商城购物").click()
Пример #13
0
 def __call__(self, ignored):
     return not _element_if_visible(self.element)
Пример #14
0
 def __call__(self, driver):
     try:
         child_element = self.parent.find_element(*self.locator)
         return _element_if_visible(child_element)
     except StaleElementReferenceException:
         return False
Пример #15
0
 def __call__(self, driver):
     try:
         return EC._element_if_visible(get_page_element(self.element_name))
     except StaleElementReferenceException:
         return False
 def __call__(self, ignored):
     return not _element_if_visible(self.element)