Python+Selenium之带翻页的列表数据获取

需求:获取列表,某一列数据的集合,列表有多页

思路:进入页面后,先获取总页数,如何获取总页数见前一篇文章,如果大于1了,每翻一页,获取对应的该页列表的内容信息;小于1直接读取本页某列的数据。

def get_table_list(self,locator,totalitem,pagesize,nextpage):
        # 返回该元素定位的所有元素集合
        totalcount=self.get_page_size(totalitem,pagesize)
        logging.info("当前总页数是{0}".format(totalcount))
        list=[]
        # 获取第一页的数据
        self.wait_utilVisible(locator)
        ele=self.driver.find_elements_by_xpath(locator)
        for i in ele:
            # 返回页面元素的文本内容
            text=i.text
            logging.info("该元素的内容是{0}".format(i.text))
            # 将文本内容添加到列表中保存
            list.append(text)
        time.sleep(2)
        # 如果页数不等于1,则进行翻页,然后获取每一页的数据信息
        if totalcount!=1:
            for i in range(1,totalcount):
                 self.get_element(nextpage).click()
                 self.wait_utilVisible(locator)
                 ele=self.driver.find_elements_by_xpath(locator)
                 # 对返回的页面元素遍历
                 for i in ele:
            # 返回页面元素的文本内容
                    text=i.text
                    logging.info("该元素的内容是{0}".format(i.text))
            # 将文本内容添加到列表中保存
                    list.append(text)
        return list

 

你可能感兴趣的:(Selenium)