- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHTMLNode.py
More file actions
Latest commit
20 lines (17 loc) · 634 Bytes
/
Copy pathHTMLNode.py
File metadata and controls
20 lines (17 loc) · 634 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
fromcollectionsimportdeque
fromtypingimportIterable
classHTMLNode(object):
def__init__(self, nodeName: str):
self.name=nodeName
self.childList=deque()
self.attributes=dict()
defgetElementsByTagNames(self, names: Iterable) ->set:
result=set()
ifself.nameinnames:
result.add(self)
forninself.childList:
result.update(n.getElementsByTagNames(names))
returnresult
def__repr__(self):
return (self.name+", attributes: "+str(self.attributes)
+", number of children: "+len(self.childList))