gpt4 book ai didi

python - 从 Splinter 访问和管理本地存储?

转载 作者:太空宇宙 更新时间:2023-11-04 10:15:41 25 4
gpt4 key购买 nike

我想在本地存储中检索、管理和存储数据。

splinter 中是否有相应的 API?

最佳答案

splinter 没有可用的存储 API,但您可以使用 evaluate_script 和 execute_script 构建自己的 API:

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()

关于python - 从 Splinter 访问和管理本地存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35508631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com