1. 首先确认POST请求的content-type类型

2. 查看cookies数据

3. 找到对应的headers数据

4. 如果是application/json,传入的json数据需要时json数据格式

post请求时:res = requests.post(url, data=data,headers=headers,verify=False)

post请求时:res = requests.post(test_url,data=json.dumps(data),headers=headers)

用request获取到的cookie,传给selenium使用, 全部代码示例如下: (敏感信息****表示)

# -*- coding: utf-8 -*-
import requests
from selenium import webdriver
import json
from os.path import dirname,abspath def get_cookielin(driver):
test_url = "https://login.*****.link/Account/Login"
headers = {"Content-Type": "application/json;charset=utf-8",
"Accept": "application/json, application/xml, text/play, text/html, *.*",
"Accept-Encoding": "gzip, deflate,br",
"Accept-Language": "zh-CN,zh;q=0.9"}
#根据Fiddler中content-type的类型,确认写入的data数据
data = {"UseLoginGeetest":False,"Remember":"","Domin":"","ReturnUrl":"","UseLoginMutex":False,"MutexToken":"","LoginType":0,\
"UserName":"linyisss100349@bsasn.com","Password":\
"HADovxHy/k3PEyd9SYLvNfasasaa7APUh1/0IQ11WiDCop2WfcNAJkegRZc65W+FGojKjLDFUA5ziOhaM0IEyQ7sgfTfuhgxyEmLGF6rI1EU0pC2EmTrTOlRYYZIPXvW4tEIrrtfgFjX79AjAVmdoq08LmbZyNy5q76TTc="}
#"UseLoginGeetest":False/Ture需要大写,Fiddler里面抓取的可能是小写
res = requests.post(test_url,data=json.dumps(data),headers=headers)
#data=json.dumps(data)需要传json格式的数据
Tita_PC = res.cookies.get('Tita_PC') #只获取‘Tita_PC’名称的cookie内容 cookie1 = {'name': 'Tita_PC', 'value': Tita_PC}
driver.get(test_url) #写入cookie之前必须driver.get(url)
#PhantomJS报错Unable to set Cookie,通过下面的方式修改
driver.add_cookie(
{
'domain':'.italent.link',
'name':cookie1['name'],
'value':cookie1['value'],
'path': '/',
'expires': None
}
) driver.get(test_url)
shishi_url = 'https://setting-cloud.*****.link/#home'
driver.get(shishi_url)
driver.implicitly_wait(10)
driver.find_element_by_xpath('//*[@data-type="CloundApplication"]/span').click() def login():
filepath = dirname(abspath(__file__))+'\driver' #__file__用于获取文件的路径,abspath(__file__)获得绝对路径;dirname()用于获取上级目录
#print(filepath)
driver = webdriver.Chrome(filepath+'\chromedriver.exe')
driver.maximize_window()
get_cookielin(driver) if __name__=='__main__':
login()

  

selenium中 WebDriver操作cookie的方法:

get_cookies(): 获得所有cookie信息。

get_cookie(name): 返回字典的key为“name”的cookie信息。

add_cookie(cookie_dict) : 添加cookie。“cookie_dict”指字典对象,必须有name 和value 值。

delete_cookie(name,optionsString):删除cookie信息。“name”是要删除的cookie的名称,“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”。

delete_all_cookies(): 删除所有cookie信息。

9. selenium+request方式的cookie绕过的更多相关文章

  1. python+selenium基础篇,cookie绕过验证码小案例

    1.绕过验证码有许许多多的方法,笔者在此介绍其中的一个小方法,原理其实就是获取已登陆了之后的凭证(会话保存在本地的cookie中)再打开另一个页面的使用 2.F12(浏览器开发者调试工具)可以查看的需 ...

  2. Python Selenium Cookie 绕过验证码实现登录

    Python Selenium Cookie 绕过验证码实现登录 之前介绍过博客园的通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍 1.1. ...

  3. Python - Cookie绕过验证码登录

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 另一篇博文  P ...

  4. Python+fiddler(基于Cookie绕过验证码自动登录)

    案例:使用Cookie绕过百度验证码自动登录账户 步骤: 1.浏览器进入百度首页,点击登录按钮,输入相关信息(注意:暂时不要点击登录按钮) 2.进入fiddler,首先获取证书,Tools--> ...

  5. 添加cookie绕过登陆

    添加cookie绕过登陆 #!/usr/bin/env python # -*- coding: utf-8 -*- from selenium import webdriver import tim ...

  6. python+pytest接口自动化(9)-cookie绕过登录(保持登录状态)

    在编写接口自动化测试用例或其他脚本的过程中,经常会遇到需要绕过用户名/密码或验证码登录,去请求接口的情况,一是因为有时验证码会比较复杂,比如有些图形验证码,难以通过接口的方式去处理:再者,每次请求接口 ...

  7. 网页出现400 Bad Request Request Header Or Cookie Too Large错误的解决方法

    在开发项目过程中,突然遇到400 Bad Request Request Header Or Cookie Too Large的报错,我也是第一次出现这样的错误,感觉还是挺新奇的. 分析下出现错误的原 ...

  8. 数据存储的两种方式:Cookie 和Web Storage

    数据存储的两种方式:Cookie 和Web Storage 1.Cookie Cookie的作用就像你去超市购物时,第一次给你办张购物卡,这个购物卡里存放了一些你的个人信息,下次你再来这个连锁超市时, ...

  9. 数据存储的两种方式:Cookie 和Web Storage(转)

    数据存储的两种方式:Cookie 和Web Storage   数据存储的两种方式:Cookie 和Web Storage 1.Cookie Cookie的作用就像你去超市购物时,第一次给你办张购物卡 ...

随机推荐

  1. 《软件自动化测试开发-Java和Python测试开发实用指南》出版了

    1.关于书中下载链接的问题:出现404,页面不存在 解答:大小写要区分,l和1不能弄错了 2.关于勘误,出现极个别漏子少字错字 解答:后续版本会改进,目前能理解就好了 ---------------- ...

  2. 2018.2最新-Scrapy+elasticSearch+Django打造搜索引擎(二)

    请问您今天要来个引擎吗? 工欲善其事必先利其器 最终项目上线演示地址: http://search.mtianyan.cn 第二节:我们搞搞比利,搞搞环境的搭建.Github地址: https://g ...

  3. 达拉草201771010105《面向对象程序设计(java)》第九周学习总结

    达拉草201771010105<面向对象程序设计(java)>第九周学习总结 实验九异常.断言与日志 实验时间 2018-10-25 1.实验目的与要求 (1) 掌握java异常处理技术: ...

  4. git上传命令步骤

    1.登陆github后,进入Github首页,点击New repository新建一个项目 2. 填写相应信息后点击create repository即可 Repository name: 仓库名称( ...

  5. Immer.js简析

    开始 在函数式编程中,Immutable这个特性是相当重要的,但是在Javascript中很明显是没办法从语言层面提供支持,但是还有其他库(例如:Immutable.js)可以提供给开发者用上这样的特 ...

  6. 【前端性能优化】高性能JavaScript整理总结

    高性能JavaScript整理总结 关于前端性能优化:首先想到的是雅虎军规34条然后最近看了<高性能JavaScript>大概的把书中提到大部分知识梳理了下并加上部分个人理解这本书有参考雅 ...

  7. Python-Pyquery库的安装和调用

    解析库pyquery:# pip安装pyquery库pip3 install pyquery from pyquery import PyQuery as pq # 定义doc,输入html源代码 d ...

  8. IIS6.0文件解析漏洞和短文件名漏洞复现

    一.IIS6.0文件解析漏洞 1.ASP一句话木马的准备 新建木马文件“muma.txt”,将“我asp是一句话木马:<%eval request("asp")%>”写 ...

  9. .netCore下的jwt的梳理-->借鉴于“老张的哲学”

    之前在公司的项目中有用到jwt进行token验证,但是公司里用的框架已经集成好了jwt,所以对jwt的的了解不够清晰,感觉还是隔着一层.在看了“老张的哲学”的jwt部分后对jwt的认识才更加深刻了一些 ...

  10. python之三元表达式,列表|字典推导式,函数对象

    #### 三元表达式: 就是if....else...的语法糖 # -- 1) 只能解决if...else...结构,其他if分支结构都不管 # -- 2)一个分支提供一个结果: 如果一个分支提供了多 ...