late_payment_fields = ['latePaymentFee', 'latePaymentFeePer',
'latePaymentFeeMax', 'latePaymentFeeMin']
payment_values = [['0', '0', '0', '10'], ['0', '0', '0', '10'],
['10', '0', '5', '0'], ['', '101', '0', '0'],
['10', '0', '0', '0'], ['0', '10', '12', '0']]
正如您所看到的,我有4个字段和一组payment_values。我在这里要做的是,我将为这些字段分配一组一组的6组值。这是我正在进行的测试。所以这就是我如何将值分配给字段设置的时间。
def fillLatePaymentfields ():
for i in payment_values:
for index in range(len(payment_values)):
browser.find_by_name(late_payment_fields[index]).fill(i[index])
logger(f, 'Adding values to' + late_payment_fields[index])
browser.find_by_id('utbFrmDiv').find_by_tag('a').first.click()
errorChecking('', 'late_payment')
问题是我收到一条错误消息
“browser.find_by_name(late_payment_fields [index])。fill(i [index])IndexError:索引超出范围”
有人可以告诉我它为何超出范围吗?
答案 0 :(得分:0)
for i in payment_values:
for index in range(len(payment_values)):
这里len(payment_values)
肯定是len(i)
?附:我们可以为i
获得更好的名称吗?
答案 1 :(得分:0)
range(len(payment_values))
表示range(6)
。
所以late_payment_fields[5]
抛出错误。
尝试芯片代码
late_payment_fields = ['latePaymentFee', 'latePaymentFeePer',
'latePaymentFeeMax', 'latePaymentFeeMin']
payment_values = [['0', '0', '0', '10'], ['0', '0', '0', '10'],
['10', '0', '5', '0'], ['', '101', '0', '0'],
['10', '0', '0', '0'], ['0', '10', '12', '0']]
def fillLatePaymentfields():
indexes_of_payment_fields = range(len(late_payment_fields))
for payment in payment_values:
for index in indexes_of_payment_fields:
print late_payment_fields[index], (payment[index])
print 'Adding values to ' + late_payment_fields[index]
fillLatePaymentfields()