婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python3使用Selenium獲取session和token方法詳解

Python3使用Selenium獲取session和token方法詳解

熱門標簽:深圳網絡外呼系統代理商 柳州正規電銷機器人收費 400電話辦理費用收費 千呼ai電話機器人免費 外呼系統前面有錄音播放嗎 高德地圖標注字母 騰訊地圖標注有什么版本 申請辦個400電話號碼 鎮江人工外呼系統供應商

一、背景說明

之前寫了一款簡單的api模糊測試工具,之前系統可以使用http Base認證現在改成session形式并加上了token。

最簡單的改造方法,是自己先在瀏覽器手動登錄,然后提取出session和token(系統token在整個會話期間可重復使用)填到模糊測試工具中即可。但這種非全自動化的方式不到萬不得已不想用。

最直接的方法,最使用requests按登錄流程依次發包登錄即可。但其中的難點是密碼是加密提交的,詢問開發人員說是DES加密;DES加密不難,但是用不同的語言編寫的加密算法與別人的結果完全一致那就比較費工夫。

最后的方法,那就是使用selenium登錄避開密碼的構造,這種方法的關鍵點在于:selenium是基于圖形界面操作的,沒有直接的辦法能獲取request和response的數據包,在這種情況下如何獲取session和token。

自己動web前端的存儲并沒有很深入了解,一直想的是如何獲取selenium request和response的數據包從中提取session和token,直到看到這篇文章才想起前端的變量(尤其是restful中的全局變量)會放存localStorage和sessionStorage中,從中提取session和token即可。

二、環境搭建

2.1 下載驅動

下載驅動文件,放到后續python文件同級目錄下或加入到環境變量中即可。其中Chrome驅動要注意Driver版本與瀏覽器版本對應要求。

Firefox驅動下載地址:https://github.com/mozilla/geckodriver/releases

Chrome驅動下載地址:http://chromedriver.chromium.org/downloads

Safari驅動下載地址:https://webkit.org/blog/6900/webdriver-support-in-safari-10/

Edge驅動下載地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

2.2 安裝selenium

pip install selenium

三、程序實現

3.1 系統狀況

手動登錄系統后,查看存儲狀況如下圖所示,sessionid和token分別存儲在sessionStorage的sessionId和token兩個變量中

3.2 實現代碼

import json
import time
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

class GetSessionAndToken():
  def __init__(self):
    # 啟用無頭模式,可選
    browser_options = webdriver.FirefoxOptions()
    browser_options.add_argument('--headless')
    browser_options.add_argument('--disable-gpu')
    self.browser = webdriver.Firefox(firefox_options=browser_options)
    # self.browser = webdriver.Chrome()

  # 登錄系統,具體到自己系統時需要自行修改
  def login_system(self):
    # 登錄用戶名密碼,改成目標系統用戶名密碼
    username = "admin"
    password = "123456"
    # 登錄頁面url,改成目標系統登錄頁面
    url = "https://10.10.6.93/#login"
    self.browser.get(url)
    # 顯性等待,直到用戶名控件加載出來才進行下一步
    WebDriverWait(self.browser,20,0.5).until(EC.presence_of_element_located((By.ID,"txtUserName")))
    # 填寫用戶名
    self.browser.find_element_by_id("txtUserName").send_keys(username)
    # 填寫密碼
    self.browser.find_element_by_id("txtPassword").send_keys(password)
    # 點擊登錄
    self.browser.find_element_by_id("btnLogin").click()
    # 強制等待5秒,待session和token都成功返回并存到瀏覽器中
    # restful隱性等待不太好用?self.browser.implicitly_wait(5)
    time.sleep(5)

  # 獲取sessionid
  def get_sessionid(self):
    # 是要從localStorage中獲取還是要從sessionStorage中獲取,具體看目標系統存到哪個中
    # window.sessionStorage和直接寫sessionStorage是等效的
    # 一定要使用return,不然獲取到的一直是None
    # get的Item不一定就叫sessionId,得具體看目標系統把sessionid存到哪個變量中
    sessionid = self.browser.execute_script('return sessionStorage.getItem("sessionId");')

    # 另外sessionid一般都直接通過返回Set-Cookies頭設置到Cookie中,所以也可以從Cookie讀取
    # 獲取瀏覽器所有Set-Cookie,返回對象是字典列表
    # cookies = self.browser.get_cookies()
    # 獲取單項Cookie,是不是叫sessionId取決于系統存成什么變量,單項Cookie是字典
    # cookie = self.browser.get_cookie("sessionId")
    # cookie = cookie["value"]
    # print(f"{cookies}")
    return sessionid

  # 獲取token
  def get_token(self):
    # 是要從localStorage中獲取還是要從sessionStorage中獲取,具體看目標系統存到哪個中
    # window.sessionStorage和直接寫sessionStorage是等效的
    # 一定要使用return,不然獲取到的一直是None
    # get的Item不一定就叫token,得具體看目標系統把token存到哪個變量中
    token = self.browser.execute_script('return sessionStorage.getItem("token");')
    # print(f"{token}")
    return token

  def __del__(self):
    # 退出程序時關閉瀏覽器
    self.browser.close()

if __name__ == "__main__":
  obj = GetSessionAndToken()
  obj.login_system()
  sessionid = obj.get_sessionid()
  token = obj.get_token()
  print(f"sessionid為: {sessionid}\n"
     f"token為:   {token}")

3.3 實現效果

更多關于Python獲取session和token方法請查看下面的相關鏈接

您可能感興趣的文章:
  • python中requests模擬登錄的三種方式(攜帶cookie/session進行請求網站)
  • Python處理session的方法整理
  • python使用requests.session模擬登錄
  • python3+requests接口自動化session操作方法
  • Python爬蟲番外篇之Cookie和Session詳解
  • python中requests庫session對象的妙用詳解
  • 剖析Python的Tornado框架中session支持的實現代碼
  • 在Python的Django框架的視圖中使用Session的方法
  • Python ORM框架SQLAlchemy學習筆記之映射類使用實例和Session會話介紹

標簽:郴州 烏蘭察布 海南 烏蘭察布 大慶 合肥 平頂山 哈爾濱

巨人網絡通訊聲明:本文標題《Python3使用Selenium獲取session和token方法詳解》,本文關鍵詞  Python3,使用,Selenium,獲取,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python3使用Selenium獲取session和token方法詳解》相關的同類信息!
  • 本頁收集關于Python3使用Selenium獲取session和token方法詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品乱人伦小说| 91激情在线视频| 欧洲精品一区二区三区在线观看| 日韩欧美电影一区| 欧美日韩国产综合视频在线观看| 国产精品免费av| 麻豆免费看一区二区三区| 91精品婷婷国产综合久久| 亚洲激情六月丁香| 成人sese在线| 亚洲视频在线一区二区| 91亚洲国产成人精品一区二区三| 中文字幕佐山爱一区二区免费| 不卡一区中文字幕| 日韩毛片在线免费观看| 色婷婷综合久色| 亚洲六月丁香色婷婷综合久久| 99久久伊人久久99| 久久精品国产一区二区| 日韩一区二区精品葵司在线| 麻豆免费看一区二区三区| 精品国产乱码久久久久久久| 粉嫩一区二区三区性色av| 国产精品欧美一区二区三区| 欧美在线一二三| 免费成人在线影院| 欧美www视频| 亚洲va欧美va人人爽| 91精品一区二区三区久久久久久| 午夜精品在线视频一区| 国产亚洲精品资源在线26u| 91亚洲精品久久久蜜桃| 国产三级欧美三级日产三级99| 舔着乳尖日韩一区| 精品国产免费视频| 色综合久久久久综合体| 日韩福利电影在线| 中文字幕中文乱码欧美一区二区| 在线播放亚洲一区| voyeur盗摄精品| 蜜臀精品一区二区三区在线观看 | 亚洲高清免费在线| 国产丝袜欧美中文另类| 欧美三级电影网站| 成人久久久精品乱码一区二区三区| 亚洲韩国一区二区三区| 26uuu精品一区二区| 在线区一区二视频| 国产精品一级黄| 石原莉奈在线亚洲二区| 日韩伦理免费电影| 国产亚洲制服色| 欧美一区二区三区白人| 99在线精品一区二区三区| 麻豆91在线播放免费| 亚洲精品水蜜桃| 久久中文字幕电影| 成人涩涩免费视频| 亚洲电影一区二区三区| 一二三四社区欧美黄| 国产精品色噜噜| 国产精品久久久久aaaa| 免费成人av在线播放| 欧美日韩视频专区在线播放| 亚洲综合区在线| 日本不卡一二三区黄网| 欧美三级日韩三级国产三级| 一二三区精品视频| 欧美日韩精品欧美日韩精品一综合| 日韩有码一区二区三区| 欧美一级日韩免费不卡| 国产精品夜夜嗨| 国产福利精品一区二区| 国产欧美一区二区三区网站| 亚洲免费观看高清完整版在线观看 | 日产国产欧美视频一区精品 | 91在线国产观看| 一区二区三区视频在线看| 91性感美女视频| 婷婷一区二区三区| 日韩久久精品一区| 久久99精品国产麻豆不卡| 国产婷婷一区二区| 视频一区视频二区在线观看| 亚洲免费观看高清完整| 337p粉嫩大胆噜噜噜噜噜91av| 91精品国产91久久久久久最新毛片| 久久不见久久见中文字幕免费| 国产日韩欧美不卡| 亚洲一区二区三区自拍| 日韩成人av影视| 欧美最猛黑人xxxxx猛交| 久久激五月天综合精品| 亚洲日本护士毛茸茸| 日韩一区二区三区av| 成人av网址在线观看| 天天操天天综合网| 成人综合在线网站| 亚洲一区二区在线免费观看视频| 欧美成人性战久久| 91美女视频网站| 国产福利精品导航| 亚洲男同性恋视频| 一区二区三区日韩欧美| 一区二区不卡在线视频 午夜欧美不卡在| 国产欧美日韩另类视频免费观看| 欧美性xxxxxx少妇| 日本高清不卡一区| 国产不卡视频一区二区三区| 免费不卡在线观看| 午夜精品久久久久久| 中文字幕欧美日韩一区| 婷婷综合五月天| 亚洲尤物视频在线| √…a在线天堂一区| 久久精子c满五个校花| 欧美电影免费观看高清完整版在线 | 成人精品小蝌蚪| 日本视频一区二区| 亚洲成人自拍偷拍| 亚洲女爱视频在线| **网站欧美大片在线观看| 欧美aaa在线| 国产精品综合视频| 久久精品久久久精品美女| 亚洲激情在线播放| 日韩无一区二区| 日日摸夜夜添夜夜添国产精品| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 91成人看片片| 成人午夜又粗又硬又大| 成人av在线看| 蜜桃视频在线一区| 欧美日韩国产片| 51精品秘密在线观看| 91精品国产综合久久福利软件| 欧美色图免费看| 色8久久人人97超碰香蕉987| 欧洲生活片亚洲生活在线观看| 色偷偷成人一区二区三区91| 91国模大尺度私拍在线视频| 在线免费观看日韩欧美| 高清视频一区二区| 国产日韩欧美激情| 综合久久综合久久| 亚洲激情第一区| 日韩高清欧美激情| 极品少妇xxxx偷拍精品少妇| 国产在线视频不卡二| 成人动漫一区二区三区| 一本大道久久a久久综合| 六月丁香综合在线视频| 成人激情综合网站| 欧美午夜片在线看| 日韩美女天天操| 1024国产精品| 国产真实乱子伦精品视频| 成人涩涩免费视频| 欧美精品xxxxbbbb| 国产精品一区二区久久不卡| 91蝌蚪porny九色| 欧美日韩高清影院| 欧美成人猛片aaaaaaa| 中文在线一区二区| 日韩经典中文字幕一区| 久久91精品国产91久久小草| 亚洲香肠在线观看| 日韩亚洲欧美综合| 18成人在线观看| 蜜臀a∨国产成人精品| 91丨国产丨九色丨pron| 日韩精品一区二区三区四区 | 经典三级一区二区| 91行情网站电视在线观看高清版| 欧美一区二区三区影视| 日韩美女视频一区| 国产在线日韩欧美| 欧美视频中文字幕| 国产精品理伦片| 国产人妖乱国产精品人妖| 欧美影院一区二区三区| 中文子幕无线码一区tr| 国产成人亚洲综合色影视| 日本韩国精品一区二区在线观看| 精品精品国产高清a毛片牛牛| 一区二区三区在线视频免费 | 91免费看片在线观看| 日韩欧美一区二区免费| 亚洲一区二区综合| eeuss鲁片一区二区三区| 精品国产一区二区三区av性色| 亚洲自拍偷拍欧美| 另类小说图片综合网| 亚洲二区在线观看| 欧美主播一区二区三区| 国产精品美女久久久久久久 | 国产精品国模大尺度视频| 久久精品免费在线观看| 精品动漫一区二区三区在线观看| 亚洲.国产.中文慕字在线|