else:
return "<UNKNOWN>"
+ def __eq__(self, other):
+ return id(self) == id(other)
+
def _attrs2str(self):
str = []
f = lambda x,y: x if y == None else "%s='%s'" % (x,y)
for i in self:
i._r_get_elements_by_class(cls, buf)
+ def get_elements(self, name, attrs):
+ elems = self.get_elements_by_name(name)
+ results = []
+ for elem in elems:
+ for name in attrs:
+ if elem.get_attribute(name, "") != attrs[name]:
+ break
+ else:
+ results.append(elem)
+ return results
+
# manipulation functions
def append_tag(self, tag, attrs):
elem = HTMLElement(HTMLElement.TAG, tag, attrs)
<head>
<title>htmltree.py sample html</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<link rel="stylesheet" type="text/css" href="main.css">
</head>
<body id="htmltree" class="content">
<div class="main-column">
t = r.select_1st("#header1")
print t.inner_html()
-r.remove_element(t)
+print "test_remove"
+attrs = {
+ "rel": "stylesheet",
+ "type": "text/css",
+ "href": "main.css"
+ }
+elems = r.get_elements("link", attrs)
+for elem in elems:
+ elem.delete()
print r.inner_html()
t = r.select_1st("#htmltree")
t.delete()
print r.inner_html()
+