Skip to content

Instantly share code, notes, and snippets.

@selftaught
Last active October 8, 2015 21:06
Show Gist options
  • Save selftaught/216a90981f3224da2165 to your computer and use it in GitHub Desktop.
Save selftaught/216a90981f3224da2165 to your computer and use it in GitHub Desktop.
#-----------------------------------------------------------------------------------------------------
# _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