python 获取excel数据 自动登陆

2019-02-25 16:13:53来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

原文链接:https://www.cnblogs.com/orientation-jpyayi/p/10412740.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python(leetcode)-重复元素算法题

下一篇:python初学者学习笔记