python+selenium 登录认证挠过代码

一、获取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() #刷新网页,登录成功

  

原文地址:https://www.cnblogs.com/xmxit-liu/p/13358236.html