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

相关文章
|
1天前
|
算法 Serverless 数据处理
从集思录可转债数据探秘:Python与C++实现的移动平均算法应用
本文探讨了如何利用移动平均算法分析集思录提供的可转债数据,帮助投资者把握价格趋势。通过Python和C++两种编程语言实现简单移动平均(SMA),展示了数据处理的具体方法。Python代码借助`pandas`库轻松计算5日SMA,而C++代码则通过高效的数据处理展示了SMA的计算过程。集思录平台提供了详尽且及时的可转债数据,助力投资者结合算法与社区讨论,做出更明智的投资决策。掌握这些工具和技术,有助于在复杂多变的金融市场中挖掘更多价值。
22 12
|
6天前
|
数据采集 数据安全/隐私保护 Python
从零开始:用Python爬取网站的汽车品牌和价格数据
在现代化办公室中,工程师小李和产品经理小张讨论如何获取懂车帝网站的汽车品牌和价格数据。小李提出使用Python编写爬虫,并通过亿牛云爬虫代理避免被封禁。代码实现包括设置代理、请求头、解析网页内容、多线程爬取等步骤,确保高效且稳定地抓取数据。小张表示理解并准备按照指导操作。
从零开始:用Python爬取网站的汽车品牌和价格数据
|
1月前
|
数据采集 Web App开发 数据可视化
Python用代理IP获取抖音电商达人主播数据
在当今数字化时代,电商直播成为重要的销售模式,抖音电商汇聚了众多达人主播。了解这些主播的数据对于品牌和商家至关重要。然而,直接从平台获取数据并非易事。本文介绍如何使用Python和代理IP高效抓取抖音电商达人主播的关键数据,包括主播昵称、ID、直播间链接、观看人数、点赞数和商品列表等。通过环境准备、代码实战及数据处理与可视化,最终实现定时任务自动化抓取,为企业决策提供有力支持。
|
2月前
|
数据采集 存储 XML
python实战——使用代理IP批量获取手机类电商数据
本文介绍了如何使用代理IP批量获取华为荣耀Magic7 Pro手机在电商网站的商品数据,包括名称、价格、销量和用户评价等。通过Python实现自动化采集,并存储到本地文件中。使用青果网络的代理IP服务,可以提高数据采集的安全性和效率,确保数据的多样性和准确性。文中详细描述了准备工作、API鉴权、代理授权及获取接口的过程,并提供了代码示例,帮助读者快速上手。手机数据来源为京东(item.jd.com),代理IP资源来自青果网络(qg.net)。
|
2月前
|
数据采集 Web App开发 监控
Python爬虫:爱奇艺榜单数据的实时监控
Python爬虫:爱奇艺榜单数据的实时监控
|
2月前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
2月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
305 10
|
3月前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
92 3
|
3月前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
154 0
|
3月前
|
数据采集 存储 分布式计算
超酷炫Python技术:交通数据的多维度分析
超酷炫Python技术:交通数据的多维度分析

推荐镜像

更多