def goto_page_number(self, pagenumber): """click on a specific page in the pagination list""" # perform input validation pagenumber = int(pagenumber) if pagenumber < 1: raise IndexError( "pagenumber out of range: expected value\ >= 1, received %s" % (pagenumber) ) available_pages = self.get_link_page_numbers() if len(available_pages) == 0: if pagenumber != 1: raise IndexError("no pages available, pagenumber must be == 1") max_page_number = max([int(i) for i in available_pages]) if pagenumber > max_page_number: raise IndexError( "pagenumber out of range: expected value\ <= %i, received %d" % (max_page_number, pagenumber) ) # click the page number link loctxt = self.locators["page"] % int(pagenumber) self.locators["_pagelink"] = loctxt page = Link(self, {"base": "_pagelink"}) page.detach_from_owner() page.click() del page del self.locators["_pagelink"]
def select(self,option): if not option in self.locators.keys(): raise ValueError("invalid button: %s" % (option)) if option == 'base': raise ValueError("invalid button: %s" % (option)) link = Link(self,self.locators[option]) link.detach_from_owner() link.click()
def goto_category_by_title(self,category): """click on category title""" c = self._is_category_displayed(category) if not c: raise ValueError("cannot find category: %s" % (category)) key = "goto_category_%s" % c value = self.locators['cattitlelink'] % c self.locators[key] = value l = Link(self,key) l.detach_from_owner() l.click() del self.locators[key]