DOM 操作 API
@grant CAT.agent.dom
DOM 操作 API 提供完整的浏览器页面自动化能力,包括导航、内容读取、截图、表单交互和 DOM 监控。
标签页管 理
listTabs — 列出标签页
const tabs = await CAT.agent.dom.listTabs();
返回所有打开的标签页信息。
返回值 TabInfo[]:
| 字段 | 类型 | 说明 |
|---|---|---|
tabId | number | 标 签页 ID |
url | string | 当前 URL |
title | string | 页面标题 |
active | boolean | 是否为当前激活标签页 |
windowId | number | 所在窗口 ID |
discarded | boolean | 是否已被丢弃(休眠) |
导航
navigate — 页面导航
const result = await CAT.agent.dom.navigate(url, options?);
参数:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
url | string | — | 目标 URL(必填) |
options.tabId | number | 当前激活标签 | 指定标签页 |
options.waitUntil | boolean | true | 是否等待页面加载完成 |
options.timeout | number | 30000 | 超时毫秒数 |
返回值 NavigateResult:
{ tabId: number; url: string; title: string }
内容读取
readPage — 读取页面内容
const page = await CAT.agent.dom.readPage(options?);
将页面 DOM 转换为结构化文本返回,自动移除 <script>、<style>、<noscript>、<svg>、<link[rel=stylesheet]> 等无关元素。
参数:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
options.tabId | number | 当前激活标签 | 指定标签页 |
options.selector | string | — | CSS 选择器,只返回匹配元素的内容 |
options.maxLength | number | — | 内容最大字符数,超出截断 |
options.removeTags | string[] | — | 额外需要移除的标签名 |
返回值 PageContent:
| 字段 | 类型 | 说明 |
|---|---|---|
title | string | 页面标题 |
url | string | 页面 URL |
html | string | 处理后的页面文本内容 |
truncated | boolean | 是否被截断 |
totalLength | number | 原始内容总长度 |