1
A
回答
3
有可用的分裂沒有存儲API,但你可以evaluate_script和execute_script建立你自己:
import json
from splinter import Browser
class LocalStorage:
def __init__(self, browser):
self.browser = browser
def set(self, key, value):
self.browser.execute_script(\
"window.localStorage.setItem('{}',{})".format(key, json.dumps(value)))
def get(self, key):
return self.browser.evaluate_script(\
"window.localStorage.getItem('{}')".format(key));
def get_all(self):
return self.browser.evaluate_script("""(function(){
var items = {}, ls = window.localStorage;
for (var i = 0, k; i < ls.length; i++)
items[k = ls.key(i)] = ls.getItem(k);
return items;
})()""")
def remove(self, key):
self.browser.execute_script(\
"window.localStorage.removeItem('{}');".format(key));
def clear(self):
self.browser.execute_script(\
"window.localStorage.clear();")
用例:
from splinter import Browser
browser = Browser()
browser.visit("http://mdn.github.io/web-storage-demo")
# get the local storage
storage = LocalStorage(browser)
# get an item
print storage.get("bgcolor")
# set an item
storage.set("size", 452)
# remove an item
storage.remove("size")
# get all items
for key, value in storage.get_all().iteritems():
print key + ': ' + value
# delete all items
storage.clear()
1
我認爲,如果你對分裂的驅動程序能夠執行Java腳本,你可以做這樣的事情(我在硒用它):
from selenium import webdriver
driver = webdriver.Firefox()
url='http://xxx.xxx.xxx/'
driver.get(url)
scriptArray="""return Array.apply(0, new Array(localStorage.length)).map(function (o, i) { return localStorage.getItem(localStorage.key(i)); }
)"""
result = driver.execute_script(scriptArray)
print(result)
原帖由我學這個地方技術去年是here。
相關問題
- 1. 管理本地存儲blob
- 2. 訪問javascript和C#本地存儲,asp.net
- 3. 從本地存儲訪問OneDrive作爲存儲文件夾
- 4. Firefox本地存儲外部訪問
- 5. 訪問線程本地存儲
- 6. Bintray API訪問,用戶帳戶和存儲庫管理
- 7. iPhone內存管理和壞的訪問
- 8. 安全地存儲和訪問EEPROM
- 9. Chrome擴展程序本地存儲:Background.html無權訪問本地存儲?
- 10. 本地活動目錄訪問和管理進行開發?
- 11. 在Android本地存儲中存儲訪問令牌?
- 12. 從本地spark訪問bluemix對象存儲
- 13. 從本地IIS應用程序訪問Azure Blob存儲
- 14. 從Rails應用程序訪問HTML5本地存儲
- 15. 無法從插件瀏覽器訪問本地存儲在Firefox
- 16. 從本地iPhone應用程序訪問UIWebView本地存儲數據
- 17. Android Studio - 訪問/存儲/模擬/ 0從Windows資源管理器和Android文件管理器
- 18. GAE數據存儲和物化地理信息管理
- 19. 從Android訪問雲存儲
- 20. iOS - 緩存圖像和管理存儲
- 21. 本地存儲和會話存儲
- 22. 存儲和訪問URL
- 23. SQL Server:限制訪問管理員查看存儲過程
- 24. 通過管理API訪問azure blob存儲的任何方式?
- 25. Asp.Net核心 - 快速訪問本地緩存/存儲
- 26. Maven存儲庫管理:指向本地存儲庫後,maven插件錯誤
- 27. Powershells腳本重命名本地訪客和管理員帳戶?
- 28. 劍道:從本地存儲
- 29. 在Groovy腳本中訪問本地存儲
- 30. 我如何存儲和從本地存儲