2017-02-27 131 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我已經改變了我的答案,它現在應該可以工作。 –

相關問題