一、获取cookie,写入Excel文件中
1. 提前安装好 xlwt 模块
2. 新建一个cookie_save.py,代码如下:
import time
import xlwt
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('需要挠过认证的服务器网址')
driver.maximize_window()
driver.implicitly_wait(10)
#1.准备Excel表
# 创建一个workbook 设置编码
workbook = xlwt.Workbook(encoding='utf-8')
# 创建一个worksheet
worksheet = workbook.add_sheet('cookie')
# 写入excel
# 参数对应 行, 列, 值
worksheet.write(0, 0, label='name')
worksheet.write(0, 1, label='value')
worksheet.write(0, 2, label='path')
worksheet.write(0, 3, label='domain')
worksheet.write(0, 4, label='httpOnly')
worksheet.write(0, 5, label='secure')
#2.获取cookices
time.sleep(40) #暂定40s: 手工操作,在页面上输入用户名和密码,输入验证码或验证拖动操作,进行登录
cookies=driver.get_cookies()
# for cookie in cookies:
# print(cookie)
# cookies[0]['name']
for i in range(1,len(cookies)+1): # 1,2,3,4,5,6 range()包前不包后
worksheet.write(i, 0, label=cookies[i-1]['name'])
worksheet.write(i, 1, label=cookies[i-1]['value'])
worksheet.write(i, 2, label=cookies[i-1]['path'])
worksheet.write(i, 3, label=cookies[i-1]['domain'])
worksheet.write(i, 4, label=cookies[i-1]['httpOnly'])
worksheet.write(i, 5, label=cookies[i-1]['secure'])
#3.写入文件
# 保存
workbook.save('Excel_cookies.xls')
print('Cookies 已保存完毕!')
二、读取存放了cookie的Excel中的认证信息数据
1. 提前安装好 xlrd 模块
2. 同一目录下,新建一个cookie_read.py,代码如下:
import time
import xlrd
from selenium import webdriver
driver=webdriver.Chrome()
driver.get('需要挠过认证的服务器网址')
driver.maximize_window()
driver.implicitly_wait(10)
"""打开Excel表"""
wookbook=xlrd.open_workbook('Excel_cookies.xls')
"""获取sheet"""
sheet=wookbook.sheet_by_name('cookie')
cookie_list=[]
for row_num in range(1,sheet.nrows): #1,2,3,4,5,6
cookie_dict={}
cookie_dict['name']=sheet.cell_value(row_num,0)
cookie_dict['value'] = sheet.cell_value(row_num, 1)
cookie_dict['path'] = sheet.cell_value(row_num, 2)
cookie_dict['domain'] = sheet.cell_value(row_num, 3)
cookie_dict['httpOnly'] = bool(sheet.cell_value(row_num, 4))
cookie_dict['secure'] = bool(sheet.cell_value(row_num, 5))
cookie_list.append(cookie_dict)
for cookie in cookie_list:
print(cookie)
driver.add_cookie(cookie) #给驱动添加cookie
time.sleep(2)
driver.refresh() #刷新网页,登录成功