应用场景

    场景是这样的,有些提交API请求是需要携带登录者的身份信息的,如cookies、token等,那么当水平不够没办法逆向的时候,可以用一个笨的方法:
    1、先用selenium进行正常登录
    2、想办法获取登录后的cookies,token等
    3、创建headers,把获取的cookies或token带入
    4、提交post请求
    写了个一小段用selenium登录,然后获取cookies里的session的代码,供初学者参考

上代码

import time
from selenium import webdriver
from selenium.webdriver.common.by import By

browser = webdriver.Chrome()
browser.get('网址')
driver.implicitly_wait(20)
# 隐式等待网页加载20秒
browser.find_element(By.XPATH, '//*[@id="userName"]').send_keys('用户名')
browser.find_element(By.XPATH, '//*[@id="password"]').send_keys('密码')
# 自动输入用户名和密码
try:
    browser.find_element(By.XPATH, '//*[@id="root"]/div/div[2]/div/div/div[2]/form/div[4]/div/div/span/button').click()
    # 点击登录
    browser.find_element(By.XPATH, '//*[@id="/assetManage$Menu"]/li[2]/a')
    # 这一步很关键,随便定位一下登录后的元素,为了获取登录后返回的headers
except:
    pass

token = browser.execute_script('return window.localStorage.getItem("token")')
# 用selenium包装js代码获取window.localStorage里的token
print(token)
cookies = browser.get_cookies()
# 获取cookies,返回的是一个列表
for i in cookies:
    if i['name'] == 'pcmgr_session':
        pcmgr_session = i['value']
# 遍历获取需要的信息
        print(pcmgr_session)

注:代码中xpath部分需要根据自己访问的网站进行修改

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐