python获取浏览器localstorage与sessionstorage数据

简介: python获取浏览器localstorage与sessionstorage数据

获取localstorage

优化代码如下:

1. # 点击登录
2.         driver.find_element_by_xpath('//*[@id="appidlo"]/button').click()
3. # 等待时间,写入token
4.         time.sleep(5)#等待时间很重要!!
5. # 获取到token
6. try:
7.             local_storage = driver.execute_script("return window.localStorage.getItem('access_token');")
8. print("Authorization--access_token:", str(local_storage))
9. except Exception as e:
10. raise e
11.         Authorization = 'Bearer' + ' ' + local_storage
12. print("Authorization:", Authorization)
13. setattr(api_take_menu,Authorization,Authorization)
14. return Authorization

小插曲:

今天在获取localstorage时候,一直返回的是None

即使是打了点断,发现

local_storage = driver.execute_script("return window.localStorage.getItem('access_token');")

上面的local_storage真真切切是有数据的,而且就是想要获取的值;

查了一些文章,想看看有木有别人跟我遇到一样的问题时,有个大佬的评论给了我灵感:

他说--->

1. 在发出请求后马上就得到了本地存储值,但是在设置令牌之前可能会有一个延迟。
2. 你能在发出请求后等待一段时间,看看是不是这样

哦??想想有点道理,不如来试试看,哪成想确实取到了想要的token值,看来大佬说的没错

1. 没有添加等待时间后者等待时间多短导致的取值异常不是第一次出现了,
2. 不稳定的网络环境往往会比代码执行的速度要慢,
3. 就会导致结果还没有写入数据库里或者还没有返回过来,数据库校验或者接口断言就开始了,
4. 会很容易就报错了,要么就断言异常或者取不到想要的值

获取sessionstorage

要获取浏览器 Session Storage 内的 Token 值,可以使用类似于获取 Local Storage 值的方法。

首先,您需要安装 Selenium 和相应的 Web Driver(例如 Chrome Driver)。然后,使用以下 Python 代码片段来启动 Chrome 浏览器并访问指定页面:

1. from selenium import webdriver 
2. # 启动 Chrome 浏览器 
3. driver = webdriver.Chrome() 
4. # 访问网页 
5. driver.get("https://example.com")

接下来,您可以使用以下 JavaScript 代码来获取 Session Storage 中名为“token”的项的值:

return window.sessionStorage.getItem('token');

将上述 JavaScript 代码与 Python 结合使用,以获取 Session Storage 中的 Token 值,如下所示:

1. # 获取 Session Storage 中的 Token 值 
2. token = driver.execute_script("return window.sessionStorage.getItem('token');") 
3. # 打印 Token 值 
4. print(token)

这样,您就可以在 Python 代码中获取浏览器 Session Storage 中的 Token 值了。如果 execute_script 方法返回 None,那么可能是因为浏览器中没有名为 "token" 的 Session Storage 项,或该项的值为 nullundefined

相关文章
|
24天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
8天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
18 1
|
9天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
10天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
1月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
45 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
13天前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
22天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
50 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
1月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
|
1月前
|
自然语言处理 算法 数据挖掘
探讨如何利用Python中的NLP工具,从被动收集到主动分析文本数据的过程
【10月更文挑战第11天】本文介绍了自然语言处理(NLP)在文本分析中的应用,从被动收集到主动分析的过程。通过Python代码示例,详细展示了文本预处理、特征提取、情感分析和主题建模等关键技术,帮助读者理解如何有效利用NLP工具进行文本数据分析。
46 2
|
8天前
|
索引 Python
SciPy 空间数据1
SciPy 通过 `scipy.spatial` 模块处理空间数据,如判断点是否在边界内、计算最近点等。三角测量是通过测量角度来确定目标距离的方法。多边形的三角测量可将其分解为多个三角形,用于计算面积。Delaunay 三角剖分是一种常用方法,可以对一系列点进行三角剖分。示例代码展示了如何使用 `Delaunay()` 函数创建三角形并绘制。
18 0