zoukankan      html  css  js  c++  java
  • 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() #刷新网页,登录成功
    

      

  • 相关阅读:
    洛谷P4315 月下“毛景树”(边权维护)
    Water Tree CodeForces
    P3384 【模板】树链剖分
    Codeforces 161D Distance in Tree(树的点分治)
    git命令及使用方法
    vue下拉刷新,下拉加载更多
    Vue中 v-for 生成样式并默认选中第一个样式
    js面向对象实现分页版轮播图
    js面向对象实现购物车
    js面向对象实现放大镜
  • 原文地址:https://www.cnblogs.com/xmxit-liu/p/13358236.html
Copyright © 2011-2022 走看看