[Home](./index.md) > [puppeteer](./puppeteer.md) > [Protocol](./puppeteer.protocol.md) > [DOM](./puppeteer.protocol.dom.md) > [Node](./puppeteer.protocol.dom.node.md)
## Protocol.DOM.Node interface
DOM interaction is implemented in terms of mirror objects that represent the actual DOM nodes. DOMNode is a base node mirror type.
Signature:
```typescript
export interface Node
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [attributes](./puppeteer.protocol.dom.node.attributes.md) | string\[\] | Attributes of the Element
node in the form of flat array [name1, value1, name2, value2]
. |
| [backendNodeId](./puppeteer.protocol.dom.node.backendnodeid.md) | [BackendNodeId](./puppeteer.protocol.dom.backendnodeid.md) | The BackendNodeId for this node. |
| [baseURL](./puppeteer.protocol.dom.node.baseurl.md) | string | Base URL that Document
or FrameOwner
node uses for URL completion. |
| [childNodeCount](./puppeteer.protocol.dom.node.childnodecount.md) | [integer](./puppeteer.protocol.integer.md) | Child count for Container
nodes. |
| [children](./puppeteer.protocol.dom.node.children.md) | [Node](./puppeteer.protocol.dom.node.md)\[\] | Child nodes of this node when requested with children. |
| [contentDocument](./puppeteer.protocol.dom.node.contentdocument.md) | [Node](./puppeteer.protocol.dom.node.md) | Content document for frame owner elements. |
| [distributedNodes](./puppeteer.protocol.dom.node.distributednodes.md) | [BackendNode](./puppeteer.protocol.dom.backendnode.md)\[\] | Distributed nodes for given insertion point. |
| [documentURL](./puppeteer.protocol.dom.node.documenturl.md) | string | Document URL that Document
or FrameOwner
node points to. |
| [frameId](./puppeteer.protocol.dom.node.frameid.md) | [Page.FrameId](./puppeteer.protocol.page.frameid.md) | Frame ID for frame owner elements. |
| [importedDocument](./puppeteer.protocol.dom.node.importeddocument.md) | [Node](./puppeteer.protocol.dom.node.md) | Import document for the HTMLImport links. |
| [internalSubset](./puppeteer.protocol.dom.node.internalsubset.md) | string | DocumentType
's internalSubset. |
| [isSVG](./puppeteer.protocol.dom.node.issvg.md) | boolean | Whether the node is SVG. |
| [localName](./puppeteer.protocol.dom.node.localname.md) | string | Node
's localName. |
| [name](./puppeteer.protocol.dom.node.name.md) | string | Attr
's name. |
| [nodeId](./puppeteer.protocol.dom.node.nodeid.md) | [NodeId](./puppeteer.protocol.dom.nodeid.md) | Node identifier that is passed into the rest of the DOM messages as the nodeId
. Backend will only push node with given id
once. It is aware of all requested nodes and will only fire DOM events for nodes known to the client. |
| [nodeName](./puppeteer.protocol.dom.node.nodename.md) | string | Node
's nodeName. |
| [nodeType](./puppeteer.protocol.dom.node.nodetype.md) | [integer](./puppeteer.protocol.integer.md) | Node
's nodeType. |
| [nodeValue](./puppeteer.protocol.dom.node.nodevalue.md) | string | Node
's nodeValue. |
| [parentId](./puppeteer.protocol.dom.node.parentid.md) | [NodeId](./puppeteer.protocol.dom.nodeid.md) | The id of the parent node if any. |
| [pseudoElements](./puppeteer.protocol.dom.node.pseudoelements.md) | [Node](./puppeteer.protocol.dom.node.md)\[\] | Pseudo elements associated with this node. |
| [pseudoType](./puppeteer.protocol.dom.node.pseudotype.md) | [PseudoType](./puppeteer.protocol.dom.pseudotype.md) | Pseudo element type for this node. |
| [publicId](./puppeteer.protocol.dom.node.publicid.md) | string | DocumentType
's publicId. |
| [shadowRoots](./puppeteer.protocol.dom.node.shadowroots.md) | [Node](./puppeteer.protocol.dom.node.md)\[\] | Shadow root list for given element host. |
| [shadowRootType](./puppeteer.protocol.dom.node.shadowroottype.md) | [ShadowRootType](./puppeteer.protocol.dom.shadowroottype.md) | Shadow root type. |
| [systemId](./puppeteer.protocol.dom.node.systemid.md) | string | DocumentType
's systemId. |
| [templateContent](./puppeteer.protocol.dom.node.templatecontent.md) | [Node](./puppeteer.protocol.dom.node.md) | Content document fragment for template elements. |
| [value](./puppeteer.protocol.dom.node.value.md) | string | Attr
's value. |
| [xmlVersion](./puppeteer.protocol.dom.node.xmlversion.md) | string | Document
's XML version in case of XML documents. |