操作HTML5存储对象

读取HTML5的localStorahe和sessionStorage的内容,并删除存储的内容。

#!usr/bin/env python
#-*- coding:utf-8 -*-
#操作HTML5存储对象

from selenium import webdriver
import unittest,time

class Html5Storage(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()

    def test_Html5localStorage(self):
        localStorageUrl =             ‘http://www.w3school.com.cn/tiy/loadtext.asp?f=html5_webstorage_local‘
        self.driver.get(localStorageUrl)
        time.sleep(2)
        #通过JavaScript语句,获取存储在localStorage中的lastname的值
        lastName = self.driver.execute_script(‘return localStorage.lastname‘)
        print(‘lastName:‘,lastName)
        self.assertEqual(‘Gates‘,lastName)
        #通过JavaScript语句‘localStorage.clear();‘清除所有存储在localStorage中的存储值
        self.driver.execute_script(‘localStorage.clear();‘)
        #清除存储在localStorage中的存储值后再次查看lastname的值
        last_Name = self.driver.execute_script(‘return localStorage.lastname‘)
        self.assertEqual(None,last_Name)

    def test_Html5SessionStorage(self):
        sessionStorageUrl =             "http://www.w3school.com.cn/tiy/loadtext.asp?f=html5_webstorage_session"
        self.driver.get(sessionStorageUrl)
        time.sleep(2)
        self.driver.find_element_by_tag_name(‘button‘).click()
        time.sleep(2)
        clickCpunt = self.driver.execute_script(‘return sessionStorage.clickcount‘)
        print(‘clickCpunt:‘,clickCpunt)
        self.assertEquals(1,int(clickCpunt))
        self.driver.execute_script(‘sessionStorage.clear();‘)
        click_count = self.driver.execute_script(‘return sessionStorage.clickcount‘)
        self.assertEqual(None,click_count)

    def tearDown(self):
        self.driver.quit()

if __name__ == ‘__main__‘:
    unittest.main()

原文地址:https://www.cnblogs.com/sleeping-cat/p/8278753.html

时间: 2024-11-05 21:31:50

操作HTML5存储对象的相关文章

Delphi阿里云存储对象【支持上传文件、下载文件、删除文件、创建目录、删除目录、Bucket操作等】

Delphi阿里云存储对象             阿里云api文档 [Delphi阿里云存储对象]支持 获取Bucket列表.设置Bucket权限).创建Bucket.删除Bucket.获取文件列表.上传文件.下载文件.删除文件.读取文件.判断文件是否存在.创建目录.删除目录等功能 原文地址:https://www.cnblogs.com/zhimamaigua/p/11020392.html

关于HTML5 存储中indexedDB的一些问题

IndexedDB 是一种可以让你在用户的浏览器内持久化存储数据的方法.IndexedDB 为生成 Web Application 提供了丰富的查询能力,使我们的应用在在线和离线时都可以正常工作. IndexedDB是一个比较新的存储方案,作为代替WebSQL出现的,可以再客户端想数据库那样存储数据.具体的支持情况可以查看Can I Use.可以看到支持情况并不怎么好. 具体的使用方法可以参考以下文章或视频: MDN:使用 IndexedDB 慕课网:HTML5存储 下面是我在学习中遇到的一些问

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一.html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征.窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" data-id="2312">测试</a> 这里的data-

HTML5自定义属性对象Dataset简介

一.html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征.窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: 测试 这里的data-前缀就被称为data属性,其可以通过脚本进行定义,也可以应用CSS属性选择器进行样式设置.数量不受限制,在控制和渲染数据的时候提供了非常强大的控制. 二.Dataset基础 下面是元素应用

localstorage存储对象

之前在客户端存储数据一直用的是cookie,由于有大小等限制,随着html5时代的到来,现在大多数用的是localstorage存储数据: 例如: localStorage.setItem("key","value");//存储变量名为key,值为value的变量 localStorage.key = "value"//存储变量名为key,值为value的变量 localStorage.getItem("key");//获取存

存储对象可以考虑:1,数组,2,集合

/* * 1,存储对象可以考虑:1,数组,2,集合 * 2,数组存储对象的特点: *   Student[]stu = new Student[20]; *   stu[0] = new Student(); *  不足:一旦创建,其长度不可变: *   真实的数组存放的对象的个数是不可知的. * 3,集合 *   Collection接口 *     List接口:存储有序的,可以重复的元素 *       ArrayList(主要的实现类,首选),LinkList(对于频繁的删除和插入操作)

Qt中容器类应该如何存储对象

Qt提供了丰富的容器类型,如:QList.QVector.QMap等等.详细的使用方法可以参考官方文档,网上也有很多示例文章,不过大部分文章的举例都是使用基础类型:如int.QString等.如果我们要存储一个对象类型,应该如何做呢?—— 当然是和int类型一样操作,因为这些容器类都是泛型的.不过,我们今天要讨论的不是容器类的使用用法,而是容器存储的对象内存如何释放的问题. (这里提到了对象类型是指 Class/Struct,可以继承自QObject,也可以是普通的C++类.) 下面以QList

angularJS操作键值对象(类似java的hashmap)填坑小结

前言: 我们知道java的hashmap中使用最多的是put(...),get(...)以及remove()方法,那么在angularJS中如何创造(使用)这样一个对象呢 思路分析: 我们知道在java中可以采用链式访问和"[]"访问hashmap的某一个值 具体实现: 链式访问: .factory('ParamsServices', function () { var params = {}; return { get: function (key) { return params.

redis存储对象与对象序列化详解

redis主要存储类型最常用的五种数据类型: String Hash List Set Sorted set redis存储对象序列化和反序列化 首先来了解一下为什么要实现序列化 为什么要实现序列化接口 当一个类实现了Serializable接口(该接口仅为标记接口,不包含任何方法定义),表示该类可以序列化.序列化的目的是将一个实现了Serializable接口的对象转换成一个字节序列,可以. 把该字节序列保存起来(例如:保存在一个文件里),以后可以随时将该字节序列恢复为原来的对象.甚至可以将该