51Testing软件测试论坛

标题: 【求助】python+selenium获取分页列表元素失败 [打印本页]

作者: xueboy118    时间: 2017-5-17 10:21
标题: 【求助】python+selenium获取分页列表元素失败
操作:python+selenium,在查询页面,按照条件查询,查询结果有多页,当获取第一页符合条件的列表元素后,点击【下一页】,此时页面显示查询结果的第二页,重新获取列表中的符合条件的元素,并添加到新的列表中
问题描述:当页面切换到第二页时,脚本不会重新获取页面显示的元素,而是将第一页上的符合条件的元素重新添加一遍,即第二页上符合条件的元素没有被添加。求解
[attach]106194[/attach]
脚本:
txtv=[]
lists=self.dr.find_elements_by_css_selector("tbody[class='tblist']>tr")
routnum=0
#获得列表总页数
page1=self.dr.find_element_by_xpath("//*[@id='laypage_3']/div[2]/label[3]").text
p1=1
while p1<=int(page1[1]):
        print "===================第%s次循环"%str(p1)
        if p1>1:
                time.sleep(3)
                print u"分页大于1页时,页面重新取值!!!!"
                lists=[]
                lists=self.dr.find_elements_by_xpath("//*[@id='tab_bd2']/div[3]/table/tbody/tr")

        for txt1 in lists:
                #获得状态信息
                zt=txt1.find_element_by_xpath(".//td[3]").text
                if zt==u"不正常":
                        #获得mac信息
                        mac=txt1.find_element_by_xpath(".//td[2]").text
                        #获得商户名称
                        sh=txt1.find_element_by_xpath(".//td[5]").text
                        #获得商户所在地区
                        dq=txt1.find_element_by_xpath(".//td[7]").text
                        #获得列表记录编号
                        bh=txt1.find_element_by_xpath(".//td[1]").text
                        #将获取的列表元素添加到列表中
                        txtv.append([mac,zt,sh,dq,bh])
                        routnum+=1
        p1+=1
        if p1<>int(page1[1]):
                self.dr.find_element_by_xpath("//*[@id='page2']/div/div[1]/a[2]").click()


作者: xueboy118    时间: 2017-5-17 11:44
补充一下,系统属于左右框架结构,查询操作在右边的框架上,执行查询,点击下一页后,地址栏上的url不会发生改变
作者: xueboy118    时间: 2017-5-18 11:15
没人知道碰到过这样的状况么?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2