CrawlForge MCP
Alat Lanjutan5 credits

scrape_with_actions

Laksanakan rangkaian tindakan pelayar termasuk klik, tatal, taip dan auto-isi borang dengan tangkapan skrin. Sesuai untuk aliran log masuk, tatal tak terhingga, dialog modal dan tapak kompleks yang banyak JavaScript.

Kes Penggunaan

Aliran Log Masuk

Automasikan borang log masuk dan akses kandungan disahkan di sebalik dinding log masuk

Tatal Tak Terhingga

Scrape kandungan daripada halaman tatal tak terhingga seperti suapan media sosial dan penyenaraian produk

Dialog Modal

Berinteraksi dengan popup, modal dan tindanan dinamik

Tapak Banyak JavaScript

Kendalikan SPA dan tapak dengan pemuatan kandungan dinamik melalui AJAX

Borang Berbilang Langkah

Navigasi melalui wizard berbilang langkah dan penyerahan borang kompleks

Pengujian Visual

Tangkap tangkapan skrin pada setiap langkah untuk penyahpepijatan dan pengujian regresi visual

Endpoint

POST/api/v1/tools/scrape_with_actions
Auth Required
1 req/s pada pelan Free
5 credits

Parameters

NameTypeRequiredDefaultDescription
url
stringRequired-
URL untuk dimuatkan sebelum menjalankan rangkaian tindakan
Example: https://app.example.com/dashboard
actions
arrayRequired-
Senarai tersusun 1-20 tindakan pelayar untuk dijalankan sebelum scraping. Setiap item ialah objek dengan `type` iaitu `wait`, `click`, `type`, `press`, `scroll`, `screenshot`, `executeJavaScript`, `select`, `hover` atau `navigate`, ditambah medan khusus mengikut jenis: `selector` (sasaran CSS), `text` (untuk `type`), `key` (untuk `press`), `script` (untuk `executeJavaScript`), `duration`/`condition` (untuk `wait`), `button`/`clickCount`/`delay` (untuk `click`), `direction`/`distance`/`toElement` (untuk `scroll`) `fullPage`/`quality`/`format` (untuk `screenshot`), `value` atau `values` (untuk `select`) dan `url`/`waitUntil` (untuk `navigate`). `select` menerima satu `value` atau tatasusunan `values`, dan rentetan biasa dipadankan dengan opsyen mengikut nilainya atau label yang dipaparkan; `hover` memerlukan `selector`, dengan `force` dan `position` sebagai pilihan. Pilihan pada mana-mana tindakan: `timeout` (setiap tindakan, lalai 10000ms — berbeza daripada `browserOptions.timeout` yang membajet keseluruhan rantaian), `description`, `continueOnError` (lalai false), `retries` (0-5, lalai 1) dan `captureAfter` (lalai false).
Example: [{"type": "click", "selector": "#login"}, {"type": "type", "selector": "#email", "text": "user@example.com"}, {"type": "wait", "duration": 1000}, {"type": "screenshot"}]
formats
arrayOptional["json"]
Format output untuk dikembalikan: `markdown`, `html`, `json`, `text` atau `screenshots`
Example: ["markdown", "screenshots"]
captureScreenshots
booleanOptionaltrue
Tangkap tangkapan skrin semasa pelaksanaan tindakan
Example: true
formAutoFill
objectOptional-
Isi dan serah borang dalam satu langkah. Struktur: `{ fields: [{ selector, value, type: text|select|checkbox|radio|file, waitAfter }], submitSelector, waitAfterSubmit }` — `waitAfterSubmit` lalai kepada 2000ms.
Example: {"fields": [{"selector": "#email", "value": "user@example.com", "type": "text"}], "submitSelector": "#login"}
browserOptions
objectOptional-
Konfigurasi pelayar: `headless` (lalai true), `userAgent`, `viewportWidth` (lalai 1280, julat 800-1920), `viewportHeight` (lalai 720, julat 600-1080), `timeout` (lalai 30000ms, julat 10000-120000) dan `stealth` (lalai false). Kekalkan `timeout` dalam tetingkap REST ~25s. Tetapkan `stealth` kepada true untuk menjalankan rantaian tindakan dalam enjin senyap Chromium pada profil `medium`, bukan kumpulan pelayar standard — boolean itu satu-satunya kawalan, jadi tahap, rawakan cap jari dan pilihan enjin tidak boleh ditetapkan dari sini. Ia lebih lambat bermula, dan ia memaparkan JavaScript, bukan menyelesaikan cabaran.
Example: {"viewportWidth": 1440, "viewportHeight": 900, "timeout": 20000}
extractionOptions
objectOptional-
Pilihan pengekstrakan kandungan: `selectors` (peta CSS kunci→nilai bagi data untuk dikeluarkan), `includeMetadata` (lalai true), `includeLinks` (lalai true) dan `includeImages` (lalai true).
Example: {"selectors": {"title": "h1", "price": ".price"}}
continueOnActionError
booleanOptionalfalse
Teruskan menjalankan tindakan yang selebihnya apabila satu gagal, bukannya membatalkan rangkaian
Example: false
maxRetries
numberOptional1
Bilangan maksimum percubaan semula untuk keseluruhan larian apabila gagal (0-3)
Example: 1
respect_robots
booleanOptionaltrue
Hormati robots.txt tapak sasaran. Jika ditinggalkan, nilai lalai yang patuh (`true`) terpakai: URL yang dilarang untuk `CrawlForge` ditolak sebelum pelayar dibuka dan titik akhir ini tidak mengenakan sebarang caj untuknya, dan setiap tindakan `navigate` diperiksa dengan cara yang sama. Tetapkan kepada `false` hanya untuk sasaran yang anda mempunyai perjanjian sendiri dengannya — tindakan mengatasi itu direkodkan pada API key anda.
Example: true

Jenis Tindakan Tersedia

wait
Tunggu untuk milisaat yang ditentukan
action.jsonJson
{"type": "wait", "duration": 2000}
click
Klik elemen mengikut pemilih CSS
action.jsonJson
{"type": "click", "selector": "#button"}
type
Taip teks ke dalam medan input
action.jsonJson
{"type": "type", "selector": "#search", "text": "query"}
press
Tekan kekunci papan kekunci
action.jsonJson
{"type": "press", "key": "Enter"}
scroll
Tatal ke elemen atau kedudukan
action.jsonJson
{"type": "scroll", "toElement": "#content"}
screenshot
Tangkap tangkapan skrin
action.jsonJson
{"type": "screenshot"}
executeJavaScript
Laksanakan JavaScript tersuai
action.jsonJson
{"type": "executeJavaScript", "script": "window.scrollTo(0, 0)"}
select
Pilih opsyen dalam <select>: selector menamakan menu jatuh turun, kemudian value (satu opsyen) atau values (beberapa). Rentetan biasa dipadankan dengan opsyen mengikut nilainya atau label yang dipaparkan.
hover
Gerakkan penuding ke atas elemen yang dinamakan oleh selector — untuk menu dan tooltip yang hanya muncul semasa tuding. force dan position berkelakuan sama seperti pada click.
navigate
Muatkan url lain dalam sesi pelayar yang sama, jadi kuki, localStorage dan keadaan log masuk daripada tindakan terdahulu kekal. waitUntil pilihan ialah load, domcontentloaded (lalai), networkidle, atau commit. URL baharu itu melalui pemeriksaan robots.txt dan SSRF yang sama seperti URL awal, jadi ia bukan jalan untuk memintas kawalan tersebut.

Contoh Permintaan

terminalBash
curl -X POST https://crawlforge.dev/api/v1/tools/scrape_with_actions \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://app.example.com/dashboard",
    "actions": [
      {"type": "click", "selector": "#login"},
      {"type": "type", "selector": "#email", "text": "user@example.com"},
      {"type": "type", "selector": "#password", "text": "secret123"},
      {"type": "wait", "duration": 1000},
      {"type": "screenshot"}
    ],
    "formats": ["markdown", "screenshots"]
  }'

Contoh Respons

200 OK9000ms
{
"success": true,
"data": {
"url": "https://app.example.com/dashboard",
"actionsExecuted": 4,
"results": {
"markdown": "# Dashboard\n\nWelcome back — you are now signed in...",
"screenshots": [
"data:image/png;base64,iVBORw0KGgoAAAANS...(truncated)"
]
},
"actionLog": [
{
"type": "click",
"selector": "#login",
"success": true
},
{
"type": "type",
"selector": "#email",
"success": true
},
{
"type": "wait",
"duration": 1000,
"success": true
},
{
"type": "screenshot",
"success": true
}
]
},
"credits_used": 5,
"credits_remaining": 995,
"processing_time": 9000
}
Field Descriptions
data.urlURL yang dimuatkan sebelum rangkaian tindakan dijalankan
data.actionsExecutedBilangan tindakan yang berjaya dijalankan
data.results.markdownKandungan halaman dalam setiap format yang diminta selepas semua tindakan selesai
data.results.screenshotsTangkapan skrin terenkod base64 yang ditangkap semasa larian (data:image/png;base64,…)
data.actionLogLog bagi setiap tindakan dengan jenis, selector dan status kejayaan
credits_usedCredits ditolak untuk permintaan ini (5 setiap scrape)
processing_timeJumlah masa dalam ms termasuk semua tindakan dan tunggu

Pengendalian Ralat

Runtime pelayar tidak dikonfigurasikan (503 TOOL_NOT_AVAILABLE)

Alat ini memerlukan runtime automasi pelayar. Apabila bahagian belakang pelaksanaan terhos tidak dikonfigurasikan, panggilan memulangkan 503 serta-merta dan tiada credits dicaj.

Bahagian belakang pelaksanaan tamat masa (504 MCP_UPSTREAM_TIMEOUT)

Navigasi serta rantaian tindakan melebihi bajet masa bahagian belakang pelaksanaan. Pendekkan tempoh menunggu, kurangkan bilangan tindakan, atau cuba semula. Kegagalan tidak dicaj.

Disekat oleh robots.txt (502 TOOL_ERROR)

robots.txt sasaran melarang URL ini untuk CrawlForge, jadi tiada pelayar dilancarkan dan tiada apa-apa dicaj. Setiap tindakan navigate diperiksa dengan cara yang sama, bukan hanya URL awal. Tetapkan respect_robots: false untuk mengatasinya jika anda mempunyai perjanjian sendiri dengan sasaran — tindakan mengatasi itu direkodkan pada API key anda.

Tindakan Tidak Sah (400 Bad Request)

Satu atau lebih tindakan mempunyai parameter tidak sah. Semak jenis tindakan dan medan yang diperlukan.

Credits Tidak Mencukupi (402 Payment Required)

Akaun anda tidak mempunyai credits yang mencukupi (perlu 5). Beli lebih banyak credits atau naik taraf pelan anda.

Had Kadar Melebihi (429 Too Many Requests)

Anda telah melebihi had kadar pelan anda. Tunggu sebentar atau naik taraf pelan anda untuk had lebih tinggi.

Petua Pro: Gunakan tindakan wait antara interaksi untuk memastikan JavaScript ada masa untuk dilaksanakan. Untuk penyahpepijatan, dayakan captureScreenshots untuk melihat apa yang dilihat pelayar pada setiap langkah.

Kos Credit

5 credits
5 credits setiap permintaan
Setiap permintaan scrape_with_actions yang berjaya berkos 5 credits, tanpa mengira bilangan tindakan.

Pelan Free: 1,000 credits percubaan sekali sahaja = 200 rangkaian tindakan

Pelan Hobby: 5,000 credits/bulan = 1,000 rangkaian tindakan ($19/mo)

Pelan Professional: 50,000 credits/bulan = 10,000 rangkaian tindakan ($99/mo)

Pelan Business: 250,000 credits/bulan = 50,000 rangkaian tindakan ($399/mo)

Alat Berkaitan

form_submit
Penyerahan borang dipermudahkan tanpa rangkaian tindakan (3 credits)
screenshot
Tangkap tangkapan skrin tanpa tindakan (2 credits)
Bersedia untuk mencuba scrape_with_actions? Daftar percuma dan dapatkan 1,000 credits untuk mula membina.

Footer

CrawlForge MCP

Web scraping gred perusahaan untuk Ejen AI. 29 alat MCP khusus yang direka untuk pembangun moden yang membina sistem pintar.

Produk

  • Ciri
  • Playground
  • Harga
  • Kes Penggunaan
  • Integrasi
  • Alternatif
  • Changelog

Sumber

  • Mula Bekerja
  • Rujukan API
  • Templat
  • Panduan
  • Blog
  • Glosari
  • Soalan Lazim
  • Peta Laman

Pembangun

  • Protokol MCP
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Syarikat

  • Tentang
  • Hubungi
  • Privasi
  • Terma
  • Penggunaan Boleh Diterima
  • Cookies

Kekal dikemas kini

Dapatkan kemas kini terkini tentang alat dan ciri baharu.

Dibina dengan Next.js dan protokol MCP

© 2025-2026 CrawlForge. Hak cipta terpelihara.