下标值超过最大下标
问题描述
当程序运行时报错:下标值超过最大下标(如图)
可能原因
列表指定位置超过列表最大长度
如上图:列表长度为5,最大位置应为4,获取位置5会报下标值超过最大下标
解决办法
列表位置是从0开始,最大位置应为:列表长度-1
使用时先打印列表长度,根据列表最大长度来调整对应位置
批量操作元素发生变化列表长度变化
以天猫-客户之声评价回复为例
场景介绍:点击解释按钮解释后,解释按钮会变为已解释状态,此时相似元素列表长度会在原有基础上-1,而下次循环时循环到的元素位置还在递增,会出现下标值超过最大下标的报错
解决办法
1.倒序循环法(推荐)
思路介绍:获取相似元素列表,根据列表长度进行次数循环,从最大位置 (len(list)-1)
循环到位置0,递增值为-1,次数操作过的元素变化不会对后面的操作产生影响
2.每次都操作位置为0的项
- 此类方法适用于操作没有异常情况的场景(已评价解释为例,所有解释均生效,点击过的元素均变为已解释状态)
思路介绍:循环网页相似元素,每次循环都重新获取相似元素,获取元素位置为0的项进行操作