| 44 | |
| 45 | |
| 46 | class Element: |
| 47 | def __init__( |
| 48 | self, node: cdp.dom.Node, tab: Tab, tree: cdp.dom.Node = None |
| 49 | ): |
| 50 | """ |
| 51 | Represents an (HTML) DOM Element |
| 52 | :param node: cdp dom node representation |
| 53 | :type node: cdp.dom.Node |
| 54 | :param tab: the target object to which this element belongs |
| 55 | :type tab: Tab |
| 56 | """ |
| 57 | if not node: |
| 58 | raise Exception("Node cannot be None!") |
| 59 | self._tab = tab |
| 60 | # if node.node_name == 'IFRAME': |
| 61 | # self._node = node.content_document |
| 62 | self._node = node |
| 63 | self._tree = tree |
| 64 | self._parent = None |
| 65 | self._remote_object = None |
| 66 | self._attrs = ContraDict(silent=True) |
| 67 | self._make_attrs() |
| 68 | |
| 69 | @property |
| 70 | def tag(self): |
| 71 | if self.node_name: |
| 72 | return self.node_name.lower() |
| 73 | |
| 74 | @property |
| 75 | def tag_name(self): |
| 76 | return self.tag |
| 77 | |
| 78 | @property |
| 79 | def node_id(self): |
| 80 | return self.node.node_id |
| 81 | |
| 82 | @property |
| 83 | def backend_node_id(self): |
| 84 | return self.node.backend_node_id |
| 85 | |
| 86 | @property |
| 87 | def node_type(self): |
| 88 | return self.node.node_type |
| 89 | |
| 90 | @property |
| 91 | def node_name(self): |
| 92 | return self.node.node_name |
| 93 | |
| 94 | @property |
| 95 | def local_name(self): |
| 96 | return self.node.local_name |
| 97 | |
| 98 | @property |
| 99 | def node_value(self): |
| 100 | return self.node.node_value |
| 101 | |
| 102 | @property |
| 103 | def parent_id(self): |
no outgoing calls
no test coverage detected
searching dependent graphs…