总是 IndexError: list index out of range
问题描述:
代码是这样的
sum=len(browser.find_elements_by_xpath('//span[@class="articlename"]/a'))
for i in range(0,sum):
link=browser.find_elements_by_xpath('//span[@class="articlename"]/a')
link[i].click()
browser.back()
答
列表中索引越界了
答
for i in browser.find_elements_by_xpath('//span[@class="articlename"]/a'):
i.click()
browser.back()
答
我猜是 link[i].click()
这一行报的错
更准确是的ink[i]
find_elements定位失败是会返回空列表,所以,这个问题的关键在于:
每一次定位之后,都检查返回列表的长度,确认定位成功再点击
sum=len(browser.find_elements_by_xpath('//span[@class="articlename"]/a'))
for i in range(0,sum):
link=browser.find_elements_by_xpath('//span[@class="articlename"]/a')
if link!= sum: # 先检查,再使用
print("定位出错")
break
link[i].click()
browser.back()