python 獲取excel資料 自動登陸

五方格發表於2019-02-21
import xlrd
import time
import unittest
from selenium import webdriver

class u8819(unittest.TestCase):
global loginurl
global driverpath
loginurl = `http://www.effevo.com`
driverpath = `D:\chromedriver.exe`
userpath = `D:\data.xlsx`

#獲取data.xlsx中的使用者資料(使用者名稱密碼)
def open_excel(self, file = userpath, rownameindex = 0, table = `使用者表`):
try:
self.data = xlrd.open_workbook(file)
self.table = self.data.sheet_by_name(table)
self.colnames = self.table.row_values(rownameindex) #找到列名 預設第一行為列名
self.nrows = self.table.nrows
for rownum in range(1, self.nrows):
rowvalue = self.table.row_values(rownum)
list = []

if rowvalue:
user = {}
for i in range(len(rowvalue)):
user[self.colnames[i]] = rowvalue[i]
list.append(user)
print(list)
return list
except Exception:
print(`檔案未發現:` + file)

   #獲取excel的使用者名稱密碼登陸  
def login(self):
listdata = self.open_excel()
#if(len(listdata) < 0 ):
# assert 0, u"Excel資料異常:無資料"

for i in range(len(listdata)):
self.driver = webdriver.Chrome(driverpath)
self.driver.get(loginurl)
assert "工作雲" in self.driver.title

self.driver.find_element_by_xpath(".//*[@id=`home`]/div/div[2]/header/nav/div[3]/ul/li[1]/a").click()
time.sleep(5)

self.driver.find_element_by_xpath(".//*[@id=`passname`]").clear()
self.driver.find_element_by_xpath(".//*[@id=`passname`]").send_keys(str(listdata[i][`username`]))
self.driver.find_element_by_xpath(".//*[@id=`password`]").clear()
self.driver.find_element_by_xpath(".//*[@id=`password`]").send_keys(listdata[i][`password`])
self.driver.find_element_by_xpath(".//*[@id=`content`]/div/div[6]/input").click()


a = u8819()
a.login()

if __name__ == `__main__`:
unittest.main()

來源:https://www.cnblogs.com/insane-Mr-Li/p/9093212.html

相關文章