from html.parser import HTMLParser
class DanParser(HTMLParser):
def __init__(self):
super().__init__()
self.in_select = False
def handle_starttag(self, tag, attrs):
print("Start Tag: ", tag, attrs)
if tag == "select":
self.in_select = True
print("Start Tag: ", tag, attrs)
def handle_endtag(self, tag):
print("EndTag: ", tag)
if tag == "select" and self.in_select:
self.in_select = False
print("EndTag: ", tag)
def handle_data(self, data):
print("Data: ", data)
if self.in_select:
print("Data: ", data)
def handle_startendtag(self,tag,attrs):
print("StarEnd Tag: ", tag, attrs)
t = DanParser()
t.feed("<select>test</select>")
ZnJvbSBodG1sLnBhcnNlciBpbXBvcnQgSFRNTFBhcnNlcgoKY2xhc3MgRGFuUGFyc2VyKEhUTUxQYXJzZXIpOgogICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgIHN1cGVyKCkuX19pbml0X18oKQogICAgICAgIHNlbGYuaW5fc2VsZWN0ID0gRmFsc2UKCiAgICBkZWYgaGFuZGxlX3N0YXJ0dGFnKHNlbGYsIHRhZywgYXR0cnMpOgogICAgICAgIHByaW50KCJTdGFydCBUYWc6ICIsIHRhZywgYXR0cnMpCiAgICAgICAgaWYgdGFnID09ICJzZWxlY3QiOgogICAgICAgICAgICBzZWxmLmluX3NlbGVjdCA9IFRydWUKICAgICAgICAgICAgcHJpbnQoIlN0YXJ0IFRhZzogIiwgdGFnLCBhdHRycykKCiAgICBkZWYgaGFuZGxlX2VuZHRhZyhzZWxmLCB0YWcpOgogICAgICAgIHByaW50KCJFbmRUYWc6ICIsIHRhZykKICAgICAgICBpZiB0YWcgPT0gInNlbGVjdCIgYW5kIHNlbGYuaW5fc2VsZWN0OgogICAgICAgICAgICBzZWxmLmluX3NlbGVjdCA9IEZhbHNlCiAgICAgICAgICAgIHByaW50KCJFbmRUYWc6ICIsIHRhZykKCiAgICBkZWYgaGFuZGxlX2RhdGEoc2VsZiwgZGF0YSk6CiAgICAgICAgcHJpbnQoIkRhdGE6ICIsIGRhdGEpCiAgICAgICAgaWYgc2VsZi5pbl9zZWxlY3Q6CiAgICAgICAgICAgIHByaW50KCJEYXRhOiAiLCBkYXRhKQoKICAgIGRlZiBoYW5kbGVfc3RhcnRlbmR0YWcoc2VsZix0YWcsYXR0cnMpOgogICAgICAgIHByaW50KCJTdGFyRW5kIFRhZzogIiwgdGFnLCBhdHRycykKCnQgPSBEYW5QYXJzZXIoKQp0LmZlZWQoIjxzZWxlY3Q+dGVzdDwvc2VsZWN0PiIpCg==