python脚本获取cookie写入本地

自己负责的一个项目接口有token验证,登录功能(获取token)是相当于一个通用的第三方,点击登录按钮跳转公共的登录平台,登录完后再跳转回来。所以导致本地开发的时候,无法登录完后,直接跳回本地页面。
所以最开始都是手动在测试环境登录,复制浏览器的token,粘贴到本地,每次手动复制有点麻烦,就想到了python脚本自动登录并获取到token写入本地文件。

import json
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
def login_fr(url, username, password):options = webdriver.ChromeOptions()options.add_experimental_option('detach', True)driver = webdriver.Chrome(options=options)#打开登录页面driver.get('https://baidu.com')time.sleep(2)# 点击登录按钮,跳转第三方通用登录页面login1_btn = driver.find_element(By.CLASS_NAME, "login_loginBtn_esRBZ")login1_btn.click()time.sleep(2)# 获取用户名,密码,登录按钮的dom元素,填入账号,密码,并点击登录按钮user_input = driver.find_element(By.ID, "basic_mobile").send_keys(username)pw_input = driver.find_element(By.ID, "basic_password").send_keys(password)login_btn = driver.find_element(By.CLASS_NAME, "loginButton")time.sleep(2)login_btn.click()time.sleep(2)return driverif __name__ == '__main__':#这里是第三方登录地址,填入的账号及密码aim_url = {'url': 'https://baidu.com','username': '123456789','password': 'qwe123'}driver = login_fr(aim_url['url'], aim_url['username'], aim_url['password'])time.sleep(1)#将获取到的token填入本地def alter(file,session,xsrf):file_data = ""with open(file, "r", encoding="utf-8") as f:for line in f:if session in line:line = "  Cookie.set('SESSION', '" + driver.get_cookies()[1]["value"] + "')" + "\n"if xsrf in line:line = "  Cookie.set('XSRF-TOKEN', '" + driver.get_cookies()[0]["value"] + "')" + "\n"  file_data += linewith open(file,"w",encoding="utf-8") as f:f.write(file_data)alter("D:/work/myProject/src/main.js", "Cookie.set('SESSION'", "Cookie.set('XSRF-TOKEN'")from selenium import webdriver

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/148858.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud-Gateway修改Response响应体,并解决大数据量返回不全等问题

官网相关案例: Spring Cloud Gatewayhttps://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#the-modifyresponsebody-gatewayfilter-factory ModifyRequestBodyGatewayFilterFactory类: https://github.com/spring-cloud/spring-cloud-gate…

Virtual安装centos后,xshell连接centos

1. 网络使用Host-Only模式动态分配IP,点确定后,centos 上运行 system restart network ,使用ifconfig查看新的ip,XShell可以直接连上centos, 但是由于使用的是Host-Only模式,centos不能访问网络&#xff0c…

【解锁未来】OpenAI:从创始到GPT4的发展

文章目录 创始发展GPT-4的发布 创始 让我们回到2015年,当时一群有远见的科技领袖,包括山姆柯曼、伊隆马斯克等人,共同创立了OpenAI。他们希望通过OpenAI,推动人工智能的发展,同时确保这项技术能够造福全人类。 发展 …

​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​

软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】 课本里章节里所有蓝色字体的思维导图

解决在pycharm中使用matplotlib画图问题

第一,再导入包后直接绘图出现: AttributeError: module backend_interagg has no attribute FigureCanvas表明版本不兼容,我们需要加入:matplotlib.use(‘TkAgg’) 导入函数就变成了: import matplotlib matplotlib.…

JAXB的XmlElement注解

依赖 如果基于JAX-WS开发&#xff0c;可以在maven工程的pom.xml文件中增加如下依赖&#xff0c;会将依赖的JAXB库也下载下来&#xff1a; <dependency><groupId>jakarta.xml.ws</groupId><artifactId>jakarta.xml.ws-api</artifactId><vers…

Django_学习_02

路由系统 urls 视图 views 模板 TempLates 静态文件和媒体文件 static 中间件 middleware ORM databases 1.路由系统 a.传统路…

基础课8——中文分词

中文分词指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在英文的行文中&#xff0c;单词之间是以空格作为自然分界符的&#xff0c;而中文只是字、句和段能通过明显的分界符来简单划界&#xff0c;唯独词没有一个…

开源与闭源:创新与安全的平衡

目录 一、开源和闭源的优劣势比较 一、开源软件的优劣势 优势 劣势 二、闭源软件的优劣势 优势 劣势 二、开源和闭源对大模型技术发展的影响 一、机器学习领域 二、自然语言处理领域 三、数据共享、算法创新与业务拓展的差异 三、开源与闭源的商业模式比较 一、盈…

C#入门(10):集合用法介绍

在C#中&#xff0c;集合是一种特殊的数据类型&#xff0c;允许我们将多个元素组织在一起。这些元素可以是相同的类型或者可以是不同的类型。C#集合主要包括以下几种类型&#xff1a; List&#xff1a;它是一个有序的元素列表&#xff0c;用户可以添加、删除或查找元素。Dictio…

【数据结构】详解链表结构

目录 引言一、链表的介绍二、链表的几种分类三、不带头单链表的一些常用接口3.1 动态申请一个节点3.2 尾插数据3.3 头插数据3.4 尾删数据3.5 头删数据3.6 查找数据3.7 pos位置后插入数据3.8 删除pos位置数据3.9 释放空间 四、带头双向链表的常见接口4.1创建头节点&#xff08;初…

220V交流转直流的简易电源设计

220V交流转直流的简易电源设计 设计简介设计原理电路图变压器电路交流转直流电路3.3V电源接口电路 PCB3D图 实践检验 设计简介 通过模拟电路的相关知识&#xff0c;尝试将220V的交流电转化为我们指定电压的直流电。 设计原理 将220V交流电转化为直流电的方法常用的有通过变压器…

物联专栏丨云边协同技术加速AloT能力向边缘侧快速演进

随着物联网被明确定位为我国新型基础设施的重要组成部分&#xff0c;成为支撑数字经济发展的关键基础设施&#xff0c;大型企业纷纷加速构建大集中式的物联网云平台&#xff0c;数以万亿计的新设备接入网络并产生海量数据&#xff0c;形成数据采集、流转、存储、处理与反馈闭环…

UE 视差材质 学习笔记

视差材质节点&#xff1a; 第一个是高度图&#xff0c; Heightmap Channel就是高度图的灰色通道&#xff0c;在RGBA哪个上面&#xff0c;例如在R上就连接(1,0,0,0)&#xff0c;G上就连接&#xff08;0,1,0,0&#xff09;逐次类推 去看看对比效果&#xff1a; 这个是有视差效果…

C#中的string和string builder有什么区别

在 C# 中&#xff0c;string 和 StringBuilder 都用于处理字符串&#xff0c;但它们之间存在一些关键的差异&#xff1a; 一、 不可变性&#xff1a; string 类型在 .NET 中是不可变的。这意味着一旦创建了一个 string 实例&#xff0c;就无法更改它。当你对 string 进行修改…

​LeetCode解法汇总2760. 最长奇偶子数组

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; 给你一个下…

【QML】QML与C++混合编程,结构体参数互相传递

1. 方法1&#xff1a; C结构体的每个成员都声明成QML的属性。QML中就可以直接以属性的方式读写。 .h文件 typedef struct {QString startRecord;QString fanSpeed;QString scrBrightness;QString printerType; } ManuSet_t;class ManuSet : public QObject {Q_OBJECTQ_PROPE…

idea 环境搭建及运行java后端源码

1、 idea 历史版本下载及安装 建议下载和我一样的版本&#xff0c;2020.3 https://www.jetbrains.com/idea/download/other.html&#xff0c;idea分为专业版本&#xff08;Ultimate&#xff09;和社区版本&#xff08;Community&#xff09;&#xff0c;前期可以下载专业版本…

【pytorch深度学习 应用篇02】训练中loss图的解读,训练中的问题与经验汇总

文章目录 loss图解析train loss ↘ \searrow ↘ ↗ \nearrow ↗ 先降后升 loss图解析 train loss ↘ \searrow ↘ 不断下降&#xff0c;test loss ↗ \nearrow ↗ 不断上升&#xff1a;原因很多&#xff0c;我是把workers1&#xff0c;batchSize8192train loss ↘ \searro…

Java系列之 解决 项目 jar 包无法上传到Github

我 | 在这里 &#x1f575;️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; &#x1f383; 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 &#x1f3f7;️ 标签 | 男 自律狂人 目标明确 责任心强 ✈️公…