2017-02-27 132 views
-1

这是我的第一个使用Python的selenium webdriver程序。我需要从Excel中获取值。在这里我给出了两个数据来自excel的一个用户名和密码。列表访问给予 - IndexError:列表索引超出范围

我得到第一个值,但循环功能不起作用。

下面的代码是给我的错误:

IndexError: list index out of range 

的脚本是:

def test_Login(self): 
    driver = self.driver 
    driver.get(self.base_url +"/") 
    driver.maximize_window() 
    wb = xlrd.open_workbook('C://Deepak//Test.xlsx') 

    sh1 = wb.sheet_by_index(0) 
    rowcount = sh1.nrows 
    list_rows = [None]*rowcount 

    for n in range(rowcount): 
     list_rows[n] = sh1.cell(n, 0).value 

    driver.find_element_by_name('userName').send_keys(list_rows[0]) 
    driver.find_element_by_name('password').send_keys(list_rows[1]) 
+0

当问题陈述简单地说“不起作用”时,很难提供解决方案。请[编辑]您的问题,以更全面地描述您预期会发生什么以及与实际结果有何不同。看[问]提示什么是一个很好的解释。 –

+0

请看[help],特别是介绍如何调试简单程序的链接。调试你自己的程序是学习的关键技巧。这是一个很好的开始。 – JeffC

回答

0
for n in range(rowcount): 
    list_rows.append(sh1.cell(n,0).value) 

我觉得你的问题是使用list_rows[n] = sh1.cell(n,0).value list.append(OBJ)初始化列表元素。

编辑:修复答案。先前的回答是错误的。

+0

在给定list = list(map(str,rowcount)之后,它在For循环中显示一些语法错误,我该如何克服这个问题 – Deepak

+0

@Deepak我已经改变了我的答案,它现在应该可以工作。 –

相关问题