الأتمتة
أتمتة المتصفح
توفر مجموعة أوامر متصفح cmux أتمتة المتصفح ضد أسطح متصفح cmux. استخدمها للتنقل، التفاعل مع عناصر DOM، فحص حالة الصفحة، تنفيذ JavaScript، وإدارة بيانات جلسة المتصفح.
فهرس الأوامر
| الفئة | الأوامر الفرعية |
|---|---|
| التنقل والاستهداف | identify, open, open-split, navigate, back, forward, reload, url, focus-webview, is-webview-focused, zoom, focus-mode, react-grab, devtools |
| الانتظار | wait |
| التفاعل مع DOM | click, dblclick, hover, focus, check, uncheck, scroll-into-view, type, fill, press, keydown, keyup, select, scroll |
| الفحص | snapshot, screenshot, get, is, find, highlight |
| JavaScript والحقن | eval, addinitscript, addscript, addstyle |
| الإطارات ومربعات الحوار والتنزيلات | frame, dialog, download |
| الحالة وبيانات الجلسة | cookies, storage, state, history |
| علامات التبويب والسجلات | tab, console, errors |
استهداف سطح متصفح
معظم الأوامر الفرعية تتطلب سطحاً مستهدفاً. يمكنك تمريره موضعياً أو بـ --surface.
# Open a new browser split
cmux browser open https://example.com
# Discover focused IDs and browser metadata
cmux browser identify
cmux browser identify --surface surface:2
# Positional vs flag targeting are equivalent
cmux browser surface:2 url
cmux browser --surface surface:2 urlالتنقل
cmux browser open https://example.com
cmux browser open-split https://news.ycombinator.com
cmux browser surface:2 navigate https://example.org/docs --snapshot-after
cmux browser surface:2 back
cmux browser surface:2 forward
cmux browser surface:2 reload --snapshot-after
cmux browser surface:2 url
cmux browser surface:2 focus-webview
cmux browser surface:2 is-webview-focused
cmux browser react-grab toggle
cmux browser devtools toggle
cmux browser devtools console
cmux browser focus-mode toggle
cmux browser zoom in
cmux browser zoom reset
cmux browser history clear --forceالانتظار
استخدم wait للانتظار حتى تتحقق محددات أو نص أو أجزاء URL أو حالة التحميل أو شرط JavaScript.
cmux browser surface:2 wait --load-state complete --timeout-ms 15000
cmux browser surface:2 wait --selector "#checkout" --timeout-ms 10000
cmux browser surface:2 wait --text "Order confirmed"
cmux browser surface:2 wait --url-contains "/dashboard"
cmux browser surface:2 wait --function "window.__appReady === true"التفاعل مع DOM
الإجراءات المعدلة تدعم --snapshot-after للتحقق السريع في النصوص.
cmux browser surface:2 click "button[type='submit']" --snapshot-after
cmux browser surface:2 dblclick ".item-row"
cmux browser surface:2 hover "#menu"
cmux browser surface:2 focus "#email"
cmux browser surface:2 check "#terms"
cmux browser surface:2 uncheck "#newsletter"
cmux browser surface:2 scroll-into-view "#pricing"
cmux browser surface:2 type "#search" "cmux"
cmux browser surface:2 fill "#email" --text "ops@example.com"
cmux browser surface:2 fill "#email" --text ""
cmux browser surface:2 press Enter
cmux browser surface:2 keydown Shift
cmux browser surface:2 keyup Shift
cmux browser surface:2 select "#region" "us-east"
cmux browser surface:2 scroll --dy 800 --snapshot-after
cmux browser surface:2 scroll --selector "#log-view" --dx 0 --dy 400الفحص
استخدم المحصلات المهيكلة للنصوص واللقطات/لقطات الشاشة للمراجعة البشرية.
cmux browser surface:2 snapshot --interactive --compact
cmux browser surface:2 snapshot --selector "main" --max-depth 5
cmux browser surface:2 screenshot --out /tmp/cmux-page.png
cmux browser surface:2 get title
cmux browser surface:2 get url
cmux browser surface:2 get text "h1"
cmux browser surface:2 get html "main"
cmux browser surface:2 get value "#email"
cmux browser surface:2 get attr "a.primary" --attr href
cmux browser surface:2 get count ".row"
cmux browser surface:2 get box "#checkout"
cmux browser surface:2 get styles "#total" --property color
cmux browser surface:2 is visible "#checkout"
cmux browser surface:2 is enabled "button[type='submit']"
cmux browser surface:2 is checked "#terms"
cmux browser surface:2 find role button --name "Continue"
cmux browser surface:2 find text "Order confirmed"
cmux browser surface:2 find label "Email"
cmux browser surface:2 find placeholder "Search"
cmux browser surface:2 find alt "Product image"
cmux browser surface:2 find title "Open settings"
cmux browser surface:2 find testid "save-btn"
cmux browser surface:2 find first ".row"
cmux browser surface:2 find last ".row"
cmux browser surface:2 find nth 2 ".row"
cmux browser surface:2 highlight "#checkout"تنفيذ وحقن JavaScript
cmux browser surface:2 eval "document.title"
cmux browser surface:2 eval --script "window.location.href"
cmux browser surface:2 addinitscript "window.__cmuxReady = true;"
cmux browser surface:2 addscript "document.querySelector('#name')?.focus()"
cmux browser surface:2 addstyle "#debug-banner { display: none !important; }"الحالة
أوامر بيانات الجلسة تغطي الكوكيز والتخزين المحلي/تخزين الجلسة ولقطات حالة المتصفح الكاملة.
cmux browser surface:2 cookies get
cmux browser surface:2 cookies get --name session_id
cmux browser surface:2 cookies set session_id abc123 --domain example.com --path /
cmux browser surface:2 cookies clear --name session_id
cmux browser surface:2 cookies clear --all
cmux browser surface:2 storage local set theme dark
cmux browser surface:2 storage local get theme
cmux browser surface:2 storage local clear
cmux browser surface:2 storage session set flow onboarding
cmux browser surface:2 storage session get flow
cmux browser surface:2 state save /tmp/cmux-browser-state.json
cmux browser surface:2 state load /tmp/cmux-browser-state.jsonعلامات التبويب
عمليات علامات تبويب المتصفح تتطابق مع أسطح المتصفح في مجموعة علامات تبويب المتصفح النشطة.
cmux browser surface:2 tab list
cmux browser surface:2 tab new https://example.com/pricing
# Switch by index or by target surface
cmux browser surface:2 tab switch 1
cmux browser surface:2 tab switch surface:7
# Close current tab or a specific target
cmux browser surface:2 tab close
cmux browser surface:2 tab close surface:7وحدة التحكم والأخطاء
cmux browser surface:2 console list
cmux browser surface:2 console clear
cmux browser surface:2 errors list
cmux browser surface:2 errors clearمربعات الحوار
cmux browser surface:2 dialog accept
cmux browser surface:2 dialog accept "Confirmed by automation"
cmux browser surface:2 dialog dismissالإطارات
# Enter an iframe context
cmux browser surface:2 frame "iframe[name='checkout']"
cmux browser surface:2 click "#pay-now"
# Return to the top-level document
cmux browser surface:2 frame mainالتنزيلات
cmux browser surface:2 click "a#download-report"
cmux browser surface:2 download --path /tmp/report.csv --timeout-ms 30000
cmux browser surface:2 download list --limit 5 --jsonالأنماط الشائعة
تنقل وانتظر وافحص
cmux browser open https://example.com/login
cmux browser surface:2 wait --load-state complete --timeout-ms 15000
cmux browser surface:2 snapshot --interactive --compact
cmux browser surface:2 get titleملء نموذج والتحقق من نص النجاح
cmux browser surface:2 fill "#email" --text "ops@example.com"
cmux browser surface:2 fill "#password" --text "$PASSWORD"
cmux browser surface:2 click "button[type='submit']" --snapshot-after
cmux browser surface:2 wait --text "Welcome"
cmux browser surface:2 is visible "#dashboard"التقاط مواد التصحيح عند الفشل
cmux browser surface:2 console list
cmux browser surface:2 errors list
cmux browser surface:2 screenshot --out /tmp/cmux-failure.png
cmux browser surface:2 snapshot --interactive --compactحفظ واستعادة جلسة المتصفح
cmux browser surface:2 state save /tmp/session.json
# ...later...
cmux browser surface:2 state load /tmp/session.json
cmux browser surface:2 reloadهل كانت هذه الصفحة مفيدة؟
الإبلاغ عن مشكلة