def p_host(self): rand = randoms.zint(1) if rand == 1: return randoms.DOMString(randoms.zint(256)) else: return "%s:%s" % (randoms.DOMString( randoms.zint(256)), randoms.zint(65535))
def p_coords(self): # 设置或者返回坐标值 rand = r.zint(2) if rand == 0: # rect num = 2 elif rand == 1: # circ num = 3 else: # poly num = r.zint(2048) return r.choice([r.coords(num), ""])
def p_coords(self): # 设置或者返回坐标值 rand = r.zint(2) if rand == 0: # rect num = 2 elif rand == 1: # circ num = 3 else: # poly num = r.zint(2048) ret = r.zint(2048) for i in range(num): ret = "%s,%s" % (ret, r.zint(2048)) return ret
def m_animate(self): keyframes = r.choice([ "{opacity:[ %s,%s],color:[ '#%s','#%s']}" % (r.zint(2048), r.zint(2048), r.shex(3), r.shex(3)), "[{opacity:%s,color: '#%s'}, {opacity:%s,color: '#%s'}]" % (r.zint(2048), r.shex(3), r.zint(2048), r.shex(3)), "{opacity:[ %s,%s],color:[ '#%s','#%s']}" % (r.zint(2048), r.zint(2048), r.shex(6), r.shex(6)), "[{opacity:%s,color: '#%s'}, {opacity:%s,color: '#%s'}]" % (r.zint(2048), r.shex(6), r.zint(2048), r.shex(6)), ]) keyframeOptions = r.zint(65535) return "%s,%s" % (keyframes, keyframeOptions)
def m_insertAdjacentHTML(self): # 插入邻近的HTML position = r.choice(['beforebegin', 'afterbegin', 'beforeend', 'afterend']) tag = r.HTMLTags() # TODO:这里不支持script标签,查明原因 有可能是浏览器的问题 while tag == "script": tag = r.HTMLTags() text = "<%s>%s</%s>" % (tag, r.DOMString(r.zint(256)), tag) return "'%s',\"%s\"" % (position, text)
def m_insertAdjacentHTML(self): # 插入邻近的HTML position = r.choice( ['beforebegin', 'afterbegin', 'beforeend', 'afterend']) tag = r.HTMLTags() # TODO:这里不支持script标签,查明原因 有可能是浏览器的问题 while tag == "script": tag = r.HTMLTags() text = "<%s>%s</%s>" % (tag, r.DOMString(r.zint(256)), tag) return "'%s',\"%s\"" % (position, text)
def m_setUserData(self): # 把对象关联到节点上的一个键上 userKey = r.choice([r.randrange(40, 92), r.randrange(93, 127), r.DOMString(r.zint(256))]) userData = r.DOMString(r.zint(256)) handler = r.Funcs() return "'%s','%s',%s" % (userKey, userData, handler) # TODO:IE独有属性 需重新修改 #def m_selectNodes(self): # # 用一个 XPath 表达式查询选择节点 # pass #def m_selectSingleNode(self): # # 查找和 XPath 查询匹配的一个节点 # pass #def m_transformNode(self): # # 使用 XSLT 把一个节点转换为一个字符串 # pass #def m_transformNodeToObject(self): # # 使用 XSLT 把一个节点转换为一个文档 # pass
def p_nodeValue(self): # 设置或返回节点的值,根据其类型 return r.DOMString(r.zint(256))
def m_lookupNamespaceURI(self): # 返回匹配指定前缀的命名空间 URI return "'%s'" % r.DOMString(r.zint(256))
def p_value(self): return r.DOMString(r.zint(256)) # Methods # No specific method; inherits methods from its parent, HTMLElement.
def m_setSinkId(self): # TODO:需要优化 return "'%s'" % r.DOMString(r.zint(256))
def p_returnValue(self): return r.DOMString(r.zint(256))
def m_getElementsByClassName(self): name = r.DOMString(r.zint(256)) return "'%s'" % name
def p_formTarget(self): target = [ "_blank", "_self", "_parent", "_top", r.DOMString(r.zint(256)) ] return r.choice(target)
def p_className(self): return r.DOMString(r.zint(256))
def p_title(self): return r.DOMString(r.zint(256))
def p_download(self): # 规定被下载的超链接目标名称 return r.DOMString(r.zint(256))
def p_accessKeyLabel(self): # A string that represents the element's assigned access key return r.DOMString(r.zint(256))
def p_alt(self): # 规定在图像无法显示时的替代文本 return r.DOMString(r.zint(256))
def p_mediaGroup(self): # 设置或返回音频所属的组合(用于连接多个音频元素) # TODO:这个值的范围暂且不确定 return r.DOMString(r.zint(256))
def p_id(self): return r.DOMString(r.zint(256))
def m_setCustomValidity(self): tip = r.DOMString(r.zint(256)) return "'%s'" % tip
def p_outerHTML(self): return r.DOMString(r.zint(256))
def m_replaceWith(self): node = r.Element() text = r.DOMString(r.zint(256)) return r.choice(["'%s'" % text, node])
def p_scrollLeft(self): return r.zint(65535)
def m_prepend(self): # 将指定元素插入匹配元素内部的开头 node = randoms.Element() text = randoms.DOMString(randoms.zint(256)) return "'%s'" % randoms.choice([node, text])
def p_scrollTop(self): return r.zint(65535)
def p_crossOrigin(self): # 设置或返回音频的 CORS 设置 # TODO:什么是Cross设置搞清楚 return r.DOMString(r.zint(256))
def p_name(self): return r.DOMString(r.zint(256))
def m_isSupported(self): # 返回当前节点是否支持某个特性 feature = r.DOMString(r.zint(256)) version = r.choice(["1.0", "2.0", "3.0", "4.0", "5.0"]) return "'%s','%s'" % (feature, version)
def p_target(self): target = ["_blank", "_self", "_parent", "_top", "", r.DOMString(r.zint(256))] return r.choice(target) # Methods # No specific method; inherits attributes from its parent, HTMLElement.
def p_textContent(self): # 设置或返回节点及其后代的文本内容 return r.DOMString(r.zint(256))
def p_src(self): # 设置或返回音频元素的当前来源 # TODO:添加真正的音频样本 return r.DOMString(r.zint(256))
def p_text(self): return r.DOMString(r.zint(256))
def m_before(self): node = r.Element() text = r.DOMString(r.zint(256)) return r.choice(["'%s'" % text, node])
def p_target(self): target = ["_blank", "_self", "_parent", "_top", "", r.DOMString(r.zint(256))] return r.choice(target)
def p_height(self): # 设置 canvas 的高度 return r.zint(2048)
def p_width(self): # 设置 canvas 的宽度 return r.zint(2048)
def m_mozGetAsFile(self): name = r.DOMString(r.zint(256)) type= r.MIMEType() return "'%s','%s'" % (name, type)
def m_replaceWith(self): node = r.Element() text = r.DOMString(r.zint(256)) return r.choice(["'%s'" % text , node])
def m_close(self): return r.choice(["", "'%s'" % r.DOMString(r.zint(256))])