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

像素点

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

是否有针对此的API?

弗洛伦特·B。

splinter没有可用的存储API,但是您可以使用valuate_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()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

管理存储的访问策略

来自分类Dev

BehaviorSubject和本地存储

来自分类Dev

我无法从本地Azure存储模拟器,VisualStudio或Azure存储资源管理器访问队列

来自分类Dev

我无法从本地Azure存储模拟器,VisualStudio,或Azure存储资源管理器访问队列

来自分类Dev

管理本地软件包存储库

来自分类Dev

用于管理本地开发存储库的工具

来自分类Dev

离子本地存储和路由

来自分类Dev

固定和本地存储库

来自分类Dev

函数和本地存储问题

来自分类Dev

如何使用NetApp可管理性SDK连接和访问存储设备?

来自分类Dev

本地存储文件中的访问被拒绝错误

来自分类Dev

嵌入可访问本地存储的reactjs应用

来自分类Dev

javascript代码阻止我访问本地存储

来自分类Dev

在Powershell上访问Selenium中的本地存储

来自分类Dev

Vue:如何从本地存储访问用户信息

来自分类Dev

从本地存储访问OneDrive作为StorageFolder

来自分类Dev

如何访问特定键的本地存储值

来自分类Dev

Kong GCP设置启动每周迁移,这破坏了数据存储和管理员访问权限

来自分类Dev

Firefox和Chrome的永久本地存储?

来自分类Dev

使用HTML和JavaScript在本地存储数据

来自分类Dev

维护Windows和Linux的本地存储库

来自分类Dev

本地存储和Internet Explorer 9冒险

来自分类Dev

任务工厂和线程本地存储

来自分类Dev

从本地存储中保存和检索日期

来自分类Dev

解析本地数据存储和PFObject子类

来自分类Dev

了解Javascript中的本地存储和Cookie

来自分类Dev

从本地存储和VueX中删除项目

来自分类Dev

骨干本地存储模型和集合

来自分类Dev

Firefox和Chrome的永久本地存储?