如何使用Python獲取、寫入localStorage
python API沒有提供直接讀/寫本地儲存的方法,但可以使用execute_script來完成。
class LocalStorage: def __init__(self, driver) : self.driver = driver def __len__(self): return self.driver.execute_script("return window.localStorage.length;") def items(self) : return self.driver.execute_script( \ "var ls = window.localStorage, items = {}; " \ "for (var i = 0, k; i < ls.length; ++i) " \ " items[k = ls.key(i)] = ls.getItem(k); " \ "return items; ") def keys(self) : return self.driver.execute_script( \ "var ls = window.localStorage, keys = []; " \ "for (var i = 0; i < ls.length; ++i) " \ " keys[i] = ls.key(i); " \ "return keys; ") def get(self, key): return self.driver.execute_script("return window.localStorage.getItem(arguments[0]);", key) def set(self, key, value): self.driver.execute_script("window.localStorage.setItem(arguments[0], arguments[1]);", key, value) def has(self, key): return key in self.keys() def remove(self, key): self.driver.execute_script("window.localStorage.removeItem(arguments[0]);", key) def clear(self): self.driver.execute_script("window.localStorage.clear();") def __getitem__(self, key) : value = self.get(key) if value is None : raise KeyError(key) return value def __setitem__(self, key, value): self.set(key, value) def __contains__(self, key): return key in self.keys() def __iter__(self): return self.items().__iter__() def __repr__(self): return self.items().__str__()
用法示例:
# 獲取 local storage storage = LocalStorage(driver) # 設定一個值 item storage["mykey"] = 1234 storage.set("mykey2", 5678) # 獲取一個值 item print(storage["mykey"]) # raises a KeyError if the key is missing print(storage.get("mykey")) # returns None if the key is missing # 刪除一個值 item storage.remove("mykey") # 迴圈取值 items for i in storage: print(i, storage[i]) # 清空 items storage.clear()
補充細節,迴圈賦值先把class物件轉換為字典型別
# 迴圈賦值 items storage = LocalStorage(driver) print(storage) d =dict(storage) #先把class物件轉換為字典型別 print(d) storage.clear() driver.refresh() storage.clear() #迴圈賦值 for i in d: print(i, d[i]) storage.set(i, d[i]) driver.refresh()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69989885/viewspace-2745160/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何讓Python不回顯獲取密碼輸入Python密碼
- python如何只獲取日期Python
- Python input()函式:獲取使用者輸入的字串Python函式字串
- Python如何獲取request response bodyPython
- python中獲取如何Series值Python
- python如何獲取本機ipPython
- Python Web 框架 Django 如何使用jwt獲取使用者資訊PythonWeb框架DjangoJWT
- 【Python】獲取機器使用資訊Python
- python tkinter如何獲取label內容?Python
- python爬蟲如何獲取表情包Python爬蟲
- python 如何獲取當前時間Python
- python檔案建立、讀取和寫入Python
- 使用Python獲取ECS相關資訊Python
- 如何用python分析xml獲取資料?PythonXML
- 如何獲取Cookie並使用Cookie侵入Cookie
- python中如何寫ssh登入Python
- vue簡訊驗證效能優化寫入localstorage中Vue優化
- Python 利用pandas和mysql-connector獲取Excel資料寫入到MySQL資料庫PythonMySqlExcel資料庫
- 如何讀取和寫入JSON檔案JSON
- 為爬蟲獲取登入cookies: 使用browsercookie從瀏覽器獲取cookies爬蟲Cookie瀏覽器
- Python 獲取檔案系統使用率Python
- 使用Python獲取HTTP請求頭資料PythonHTTP
- Python教程:如何獲取顏色的RGB值Python
- python如何獲取最優輪廓係數Python
- python使用ldap3獲取使用者資訊PythonLDA
- 獲取 CPU資訊,並透過登錄檔寫入
- 教你如何使用API介面獲取資料!API
- 如何使用 Go 獲取你的 IP 地址Go
- python字典獲取_查Python
- Python獲取星期幾Python
- 爬取百度貼吧實戰,python教你如何獲取Python
- python requests get請求 如何獲取所有請求Python
- memcahed 的 python sdk 如何批次獲取memcahed的keyPython
- python3中編碼如何獲取網頁?Python網頁
- Python如何從列表中獲取笛卡爾積Python
- localStorage和SessionStorage,Application,Cache快取SessionAPP快取
- 黑科技:LocalStorage 快取機制快取
- Cookie && Session && localStorage && sessionstorage && HTTP快取CookieSessionHTTP快取