mosheng 发表于 2024-11-2 16:08:58

[转载]CDP之DOM Domain

#### Methods 方法

* DOM.disable
禁用给定页面的 DOM 代理。
* DOM.enable
为给定页面启用 DOM 代理。
* DOM.getAttributes
返回指定节点的属性。
![](https://pic.imgdb.cn/item/6725da07d29ded1a8c763c19.png)
* DOM.getDocument
将根 DOM 节点返回给调用方。
![](https://pic.imgdb.cn/item/6725da1bd29ded1a8c764ac4.png)
* DOM.getOuterHTML
返回节点的 HTML 标记。
![](https://pic.imgdb.cn/item/6725da40d29ded1a8c7665e2.png)
* DOM.hideHighlight
隐藏 DOM 节点高亮显示。
* DOM.highlightNode
突出显示具有给定 ID 或给定 JavaScript 对象包装器的 DOM 节点。必须指定 nodeId 或 objectId。
![](https://pic.imgdb.cn/item/6725da66d29ded1a8c7682f9.png)
* DOM.highlightRect
突出显示给定的矩形。坐标相对于主框架视口是绝对坐标。
![](https://pic.imgdb.cn/item/6725da82d29ded1a8c769722.png)
* DOM.moveTo
将节点移动到新容器中,将其放置在给定锚点之前。
![](https://pic.imgdb.cn/item/6725daa3d29ded1a8c76b2a9.png)
* DOM.querySelector
在给定节点上执行 <code>querySelector</code>。
![](https://pic.imgdb.cn/item/6725daead29ded1a8c76f134.png)
* DOM.querySelectorAll
在给定节点上执行 <code>querySelectorAll</code>。
![](https://pic.imgdb.cn/item/6725db0ad29ded1a8c77092f.png)
* DOM.removeAttribute
从具有给定 id 的元素中删除具有给定名称的属性。
![](https://pic.imgdb.cn/item/6725db25d29ded1a8c771eb2.png)

* DOM.removeNode
删除具有给定 ID 的节点。
![](https://pic.imgdb.cn/item/6725db41d29ded1a8c773682.png)
* DOM.requestChildNodes
请求以 <code>setChildNodes</code> 事件的形式将具有给定 ID 的节点的子节点返回给调用方,其中不仅检索直接的子节点,还检索指定深度的所有子节点。
![](https://pic.imgdb.cn/item/6725db56d29ded1a8c774705.png)
* DOM.requestNode
请求将节点发送给给定 JavaScript 节点对象引用的调用方。构成从节点到根的路径的所有节点也会作为一系列 <code>setChildNodes</code> 通知发送到客户端。
![](https://pic.imgdb.cn/item/6725db6ed29ded1a8c7758df.png)

* DOM.resolveNode
解析给定节点 ID 的 JavaScript 节点对象。
![](https://pic.imgdb.cn/item/6725db82d29ded1a8c776a33.png)
* DOM.setAttributesAsText
在具有给定 id 的元素上设置属性。当用户编辑某些现有属性值并在多个属性名称/值对中键入时,此方法非常有用。
![](https://pic.imgdb.cn/item/6725db9bd29ded1a8c777ce6.png)
* DOM.setAttributeValue
为具有给定 id 的元素设置 attribute。
![](https://pic.imgdb.cn/item/6725dbafd29ded1a8c778dc8.png)
* DOM.setNodeName
为具有给定 ID 的节点设置节点名称。
![](https://pic.imgdb.cn/item/6725dbc5d29ded1a8c779cfb.png)
* DOM.setNodeValue
设置具有给定 ID 的节点的节点值。
![](https://pic.imgdb.cn/item/6725dbd9d29ded1a8c77adbb.png)
* DOM.setOuterHTML
设置节点 HTML 标记,返回新的节点 ID。
![](https://pic.imgdb.cn/item/6725dbeed29ded1a8c77bd9d.png)

#### Events 事件

* DOM.attributeModified
修改 <code>Element</code> 的属性时触发。
![](https://pic.imgdb.cn/item/6725dc04d29ded1a8c77d21a.png)
* DOM.Node
DOM 交互是根据表示实际 DOM 节点的镜像对象实现的。DOMNode 是一种基础节点镜像类型。
![](https://pic.imgdb.cn/item/6725dd60d29ded1a8c793b6f.png)
![](https://pic.imgdb.cn/item/6725dd71d29ded1a8c794a3f.png)
![](https://pic.imgdb.cn/item/6725dd7ed29ded1a8c7954ac.png)
* DOM.attributeRemoved
删除 <code>Element</code> 的属性时触发。
![](https://pic.imgdb.cn/item/6725dc49d29ded1a8c784efe.png)
* DOM.characterDataModified
镜像 <code>DOMCharacterDataModified</code> 事件。
![](https://pic.imgdb.cn/item/6725dc9ed29ded1a8c789ae4.png)
* DOM.childNodeCountUpdated
当 <code>Container</code> 的子节点计数发生更改时触发。
![](https://pic.imgdb.cn/item/6725dcb3d29ded1a8c78ada8.png)
* DOM.childNodeInserted
镜像 <code>DOMNodeInserted</code> 事件。
![](https://pic.imgdb.cn/item/6725dcc6d29ded1a8c78bc98.png)
* DOM.childNodeRemoved
镜像 <code>DOMNodeRemoved</code> 事件。
![](https://pic.imgdb.cn/item/6725dcdad29ded1a8c78cc8c.png)
* DOM.documentUpdated
当 <code>Document</code> 已完全更新时触发。节点 ID 不再有效。
* DOM.setChildNodes
当 backend 想要向客户端提供缺少的 DOM 结构时触发。在大多数请求节点 ID 的调用时,都会发生这种情况。
![](https://pic.imgdb.cn/item/6725dcf9d29ded1a8c78e779.png)

#### Types 类型

* DOM.HighlightConfig
用于突出显示页面元素的配置数据。
![](https://pic.imgdb.cn/item/6725dd20d29ded1a8c790864.png)
* DOM.NodeId
唯一的 DOM 节点标识符。

* DOM.PseudoType
Pseudo element type. 伪元素类型。
允许的值: first-line, first-letter, before, after, backdrop, selection, first-line-inherited, scrollbar, scrollbar-thumb, scrollbar-button, scrollbar-track, scrollbar-track-piece, scrollbar-corner, resizer, input-list-button
Type: string 类型:字符串

* DOM.RGBA
保存 RGBA 颜色的结构。
![](https://pic.imgdb.cn/item/6725ddbfd29ded1a8c79837d.png)
* DOM.ShadowRootType
Shadow root type. 影子根类型。
允许的值: user-agent, open, closed
Type: string 类型:字符串
页: [1]
查看完整版本: [转载]CDP之DOM Domain