Last active
October 8, 2015 21:06
-
-
Save selftaught/216a90981f3224da2165 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#----------------------------------------------------------------------------------------------------- | |
# _find_element(value, ftype) | |
# @param string value: xpath, name, link_text, partial_link_text, tag_name, class_name, css_selector | |
# @param string ftype: " | |
# @return (False|element) | |
#----------------------------------------------------------------------------------------------------- | |
def _find_element(self, value, ftype): | |
element = False | |
try: | |
if (ftype == 'xpath' ): element = self.driver.find_element_by_xpath (value) | |
elif(ftype == 'name' ): element = self.driver.find_element_by_name (value) | |
elif(ftype == 'link_text' ): element = self.driver.find_element_by_link_text (value) | |
elif(ftype == 'partial_link_text'): element = self.driver.find_element_by_partial_link_text(value) | |
elif(ftype == 'tag_name' ): element = self.driver.find_element_by_tag_name (value) | |
elif(ftype == 'class_name' ): element = self.driver.find_element_by_class_name (value) | |
elif(ftype == 'css_selector' ): element = self.driver.find_element_by_css_selector (value) | |
except NoSuchElementException: | |
return False | |
return element | |
#----------------------------------------------------------------------------------------------------- | |
# _find_elements(value, ftype) | |
# @param string value: xpath, name, link_text, partial_link_text, tag_name, class_name, css_selector | |
# @param string ftype: " | |
# @return (False|element) | |
#----------------------------------------------------------------------------------------------------- | |
def _find_elements(self, value, ftype): | |
element = False | |
try: | |
if (ftype == 'xpath' ): element = self.driver.find_elements_by_xpath (value) | |
elif(ftype == 'name' ): element = self.driver.find_elements_by_name (value) | |
elif(ftype == 'link_text' ): element = self.driver.find_elements_by_link_text (value) | |
elif(ftype == 'partial_link_text'): element = self.driver.find_elements_by_partial_link_text(value) | |
elif(ftype == 'tag_name' ): element = self.driver.find_elements_by_tag_name (value) | |
elif(ftype == 'class_name' ): element = self.driver.find_elements_by_class_name (value) | |
elif(ftype == 'css_selector' ): element = self.driver.find_elements_by_css_selector (value) | |
except NoSuchElementException: | |
return False | |
return element | |
#------------------------------------------------------------------------------- | |
# self.driver.find_elements_by_*(selector) | |
# @description: these allow the find functions to be called like this: | |
# this.fe_xpath('//*[@class="container"]') | |
# instead of: | |
# this.driver.find_element_by_xpath('//*[@class="container"]') | |
# @param string selector | |
# @return (False|element) | |
#------------------------------------------------------------------------------- | |
def fe_xpath (self, xpath ): return self._find_element(xpath, 'xpath' ) | |
def fe_name (self, name ): return self._find_element(name, 'name' ) | |
def fe_link_text (self, link_text ): return self._find_element(link_text, 'link_text' ) | |
def fe_partial_link_text(self, partial ): return self._find_element(partial_link_text, 'partial_link_text') | |
def fe_tag_name (self, tag_name ): return self._find_element(tag_name, 'tag_name' ) | |
def fe_class_name (self, class_name ): return self._find_element(class_name, 'class_name' ) | |
def fe_css_selector (self, css_selector): return self._find_element(css_selector, 'css_selector' ) | |
#------------------------------------------------------------------------------- | |
# self.driver.find_element_by_*(selector) | |
# @description: these allow the find functions to be called like this: | |
# this.fe_xpath('//*[@class="container"]') | |
# instead of: | |
# this.driver.find_element_by_xpath('//*[@class="container"]') | |
# @param string selector | |
# @return (False|element) | |
#------------------------------------------------------------------------------- | |
def fae_xpath (self, xpath ): return self._find_elements(xpath, 'xpath' ) | |
def fae_name (self, name ): return self._find_elements(name, 'name' ) | |
def fae_link_text (self, link_text ): return self._find_elements(link_text, 'link_text' ) | |
def fae_partial_link_text(self, partial ): return self._find_elements(partial_link_text, 'partial_link_text') | |
def fae_tag_name (self, tag_name ): return self._find_elements(tag_name, 'tag_name' ) | |
def fae_class_name (self, class_name ): return self._find_elements(class_name, 'class_name' ) | |
def fae_css_selector (self, css_selector): return self._find_elements(css_selector, 'css_selector' ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment