51dev.com IT技术开发者社区

51dev.com 技术开发者社区

python 获取excel数据 自动登陆

Pythonphp学习阅读(14)2019-10-10 收藏0次评论

python;">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

以上就是python 获取excel数据 自动登陆的全部内容,请多关注【51DEV】IT技术开发者社区。