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