API دستکاری DOM
@grant CAT.agent.dom
API دستکاری DOM اتوماسیون کامل صفحه مرورگر را فراهم میکند: ناوبری، خواندن محتوا، اسکرینشات، تعامل با فرم و نظارت DOM.
مدیریت تب
listTabs — فهرست تبها
const tabs = await CAT.agent.dom.listTabs();
اطلاعات مربوط به هر تب باز را برمیگرداند.
بازگشت TabInfo[]:
| فیلد | نوع | توضیحات |
|---|---|---|
tabId | number | شناسه تب |
url | string | URL فعلی |
title | string | عنوان صفحه |
active | boolean | آیا این تب فعال فعلی است |
windowId | number | شناسه پنجرهای که به آن تعلق دارد |
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 | طول کل محتوای اصلی |