python中使用selenium获取登陆账号的token

记录一下工作之余需要用到内容:

  • 浏览器静默模式下的自动化登陆操作
  • 获取token

话不多说,直接代码好了

复制代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
#浏览器模式设置
chrome_options=Options()
chrome_options.add_argument('--headless')
"""最终的效果:不会弹出浏览器窗口""" driver
= webdriver.Chrome(chrome_options=chrome_options) url = "https://www.xxxx.com/index"

def get_token(username, password):
  #操作浏览器,打开url,用户名密码登陆 driver.
get(url) driver.find_element_by_id("userName").send_keys(username) driver.find_element_by_id("password").send_keys(password) driver.find_element_by_id("password").submit() time.sleep(5)
  #获取token的方法:
  '''
1、要从Local Storage中获取还是要从Session Storage中获取,具体看目标系统存到哪个中-----开发者模式查看 2、window.SessionStorage和直接写SessionStorage是等效的 3、一定要使用return,不然获取到的一直是None 4、get的Item不一定就叫token,得具体看目标系统把token存到哪个变量中
  ''' token = driver.execute_script('return localStorage.getItem("token");') driver.close() return token
复制代码

对于获取项目存储的信息位置信息,可以F12进行查看,如下图:LocalStorage 和 SessionStorage

 

在实际的操作中,可能会遇到一些问题。由于浏览器静默运行,无法看到具体页面打开的情况,会造成一些莫名其妙的失败问题。

异常影响:

  • 网速、网络问题
  • 代码问题

因此,我在页面家引入了time模块,进行相关等待时间的设置。解决了因为网速问题而导致脚本的失败的问题

posted @   RChow  阅读(10236)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示