Skip to content

Browser Automation

Full web automation: navigation, interaction, data extraction, screenshots, and performance monitoring.

38 modules

ModuleDescription
Klik ElemenKlik elemen di halaman
Tutup BrowserTutup instance browser dan lepaskan sumber daya
Tangkap KonsolTangkap log konsol browser (error, warning, info)
Kelola CookieDapatkan, atur, atau hapus cookie browser
Tangani DialogTangani dialog alert, confirm, dan prompt
Unduh FileUnduh file dari browser
Seret dan LepasSeret dan lepas elemen
Simulasi PerangkatMensimulasikan perangkat atau mengatur viewport kustom
Pastikan BrowserPastikan sesi browser ada (gunakan kembali atau luncurkan)
Jalankan JavaScriptJalankan kode JavaScript di konteks halaman
Ekstrak DataEkstrak data terstruktur dari halaman
Temukan ElemenTemukan elemen di halaman dan kembalikan daftar ID elemen
Isi FormulirPengisian formulir pintar dengan deteksi bidang otomatis
Ganti FrameBeralih ke konteks iframe atau frame
Mock GeolokasiMock geolokasi browser
Pergi ke URLNavigasi ke URL tertentu
Hover ElemenArahkan mouse ke atas elemen
Luncurkan BrowserLuncurkan instance browser baru dengan Playwright
Navigasi RiwayatMenavigasi riwayat browser (mundur, maju, muat ulang)
Monitor JaringanPantau dan cegat permintaan jaringan
Daftar HalamanDaftar semua halaman/tab browser yang terbuka
Paginasi & EkstrakAuto-paginasi melalui halaman dan ekstrak data
Hasilkan PDFHasilkan PDF dari halaman saat ini
Metrik KinerjaKumpulkan metrik kinerja browser
Tekan TombolTekan tombol keyboard
Rekam AksiRekam aksi pengguna sebagai workflow
Lepaskan BrowserLepaskan sesi browser (tutup hanya jika dimiliki)
Ambil Tangkapan LayarAmbil tangkapan layar halaman saat ini
Gulir HalamanGulir halaman ke elemen, posisi, atau arah
Pilih OpsiPilih opsi dari elemen dropdown
Snapshot DOMTangkap snapshot DOM dari halaman saat ini
Penyimpanan BrowserAkses localStorage dan sessionStorage
Kelola TabBuat, ganti, dan tutup tab browser
Jejak BrowserMulai, hentikan, atau simpan jejak kinerja browser
Ketik TeksKetik teks ke dalam field input
Unggah FileUnggah file ke elemen input file
Atur ViewportDapatkan atau atur ukuran viewport browser
TungguTunggu durasi atau sampai elemen muncul

Modules

Klik Elemen

browser.click

Klik elemen di halaman

Parameters:

NameTypeRequiredDefaultDescription
click_methodselect (text, button, id, selector)NotextChoose the easiest way to identify the element you want to click
targetstringNo-e.g. "Submit", "Next Page", "Login"
selectorstringNo-CSS selector, XPath, or text selector
buttonselect (left, right, middle)NoleftWhich mouse button to use for clicking
click_countnumberNo1Number of clicks (2 for double-click, 3 for triple-click)
forcebooleanNoFalseForce click even if element is not actionable (covered, invisible)
modifiersarrayNo-Modifier keys to hold during click
timeoutnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
browserobjectBrowser session (pass-through for chaining)
statusstringStatus operasi (success/error)
selectorstringStatus operasi (success/error)
methodstringClick method used

Example: Example

yaml
click_method: text
target: Submit

Example: Example

yaml
click_method: id
target: login-button

Example: Example

yaml
click_method: selector
selector: #submit-button

Tutup Browser

browser.close

Tutup instance browser dan lepaskan sumber daya

Parameters:

NameTypeRequiredDefaultDescription
_no_paramsbooleanNoTrueThis module requires no parameters

Output:

FieldTypeDescription
statusstringTutup instance browser
messagestringTutup instance browser

Example: Example

yaml

Tangkap Konsol

browser.console

Tangkap log konsol browser (error, warning, info)

Parameters:

NameTypeRequiredDefaultDescription
levelselect (all, error, warning, info, log)NoallFilter console messages by level
timeoutnumberNo5000Maximum time to wait in milliseconds
clear_existingbooleanNoFalseClear existing messages before capturing

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
messagesarrayStatus operasi (success/error)
countnumberStatus operasi (success/error)

Example: Example

yaml
timeout: 3000

Example: Example

yaml
level: error
timeout: 5000

browser.cookies

Dapatkan, atur, atau hapus cookie browser

Parameters:

NameTypeRequiredDefaultDescription
actionselect (get, set, clear, delete)Yes-Action to perform on the storage
namestringNo-Name of the cookie
valuestringNo-Value of the cookie
domainstringNo-Cookie domain
pathstringNo/Cookie path
securebooleanNoFalseWhether cookie is secure (HTTPS only)
httpOnlybooleanNoFalseWhether cookie is HTTP only
expiresnumberNo-Cookie expiration time (Unix timestamp)

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
cookiesarrayStatus operasi (success/error)
countnumberStatus operasi (success/error)

Example: Example

yaml
action: get

Example: Example

yaml
action: get
name: session_id

Example: Example

yaml
action: set
name: user_pref
value: dark_mode
domain: example.com

Example: Example

yaml
action: clear

Tangani Dialog

browser.dialog

Tangani dialog alert, confirm, dan prompt

Parameters:

NameTypeRequiredDefaultDescription
actionselect (accept, dismiss, listen)Yes-How to respond to the dialog
prompt_textstringNo-Text to enter in prompt dialog (for accept action)
timeoutnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
messagestringStatus operasi (success/error)
typestringStatus operasi (success/error)
default_valuestringPesan hasil yang menjelaskan outcome

Example: Example

yaml
action: accept

Example: Example

yaml
action: dismiss

Example: Example

yaml
action: accept
prompt_text: Hello World

Example: Example

yaml
action: listen
timeout: 5000

Unduh File

browser.download

Unduh file dari browser

Parameters:

NameTypeRequiredDefaultDescription
selectorstringNo-CSS selector, XPath, or text selector to find the element
save_pathstringYes-Path where to save the downloaded file
timeout_msnumberNo60000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
pathstringStatus operasi (success/error)
filenamestringStatus operasi (success/error)
sizenumberPath file atau sumber daya

Example: Example

yaml
selector: #download-btn
save_path: /downloads/report.pdf

Example: Example

yaml
selector: a.download
save_path: /downloads/large-file.zip
timeout_ms: 120000

Seret dan Lepas

browser.drag

Seret dan lepas elemen

Parameters:

NameTypeRequiredDefaultDescription
sourcestringYes-CSS selector, XPath, or text selector to find the element
targetstringYes-CSS selector, XPath, or text selector to find the element
source_positionobjectNo-Position within source element {x, y} as percentages
target_positionobjectNo-Position within target element {x, y} as percentages
timeoutnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstringPosisi dalam elemen target {x, y} sebagai persentase
sourcestringPosisi dalam elemen target {x, y} sebagai persentase
targetstringStatus operasi (success/error)

Example: Example

yaml
source: #item1
target: #dropzone

Example: Example

yaml
source: .draggable
target: .container
target_position: {"x": 0.5, "y": 0.5}

Simulasi Perangkat

browser.emulate

Mensimulasikan perangkat atau mengatur viewport kustom

Parameters:

NameTypeRequiredDefaultDescription
deviceselect (iphone_12, iphone_14, iphone_14_pro_max, iphone_se, pixel_7, pixel_5, galaxy_s21, galaxy_s23, ipad_pro, ipad_mini, galaxy_tab_s8, desktop_chrome, desktop_firefox, desktop_safari, desktop_edge, laptop, macbook_pro, custom)Yes-Nama perangkat yang akan disimulasikan (misalnya iPhone 13)
widthnumberNo-Lebar viewport dalam piksel
heightnumberNo-Tinggi viewport dalam piksel
user_agentstringNo-String user agent kustom
is_mobilebooleanNo-Apakah akan mensimulasikan perangkat mobile
has_touchbooleanNo-Apakah perangkat mendukung sentuhan
device_scale_factornumberNo-Rasio piksel perangkat

Output:

FieldTypeDescription
statusstringStatus operasi (sukses/gagal)
devicestringNama perangkat yang disimulasikan
viewportobjectDimensi viewport saat ini
is_mobilebooleanApakah simulasi perangkat mobile aktif

Example: Example

yaml
device: iphone_14

Example: Example

yaml
device: ipad_pro

Example: Example

yaml
device: custom
width: 400
height: 800
is_mobile: true
has_touch: true
device_scale_factor: 2

Example: Example

yaml
device: desktop_chrome
user_agent: CustomBot/1.0

Pastikan Browser

browser.ensure

Pastikan sesi browser ada (gunakan kembali atau luncurkan)

Parameters:

NameTypeRequiredDefaultDescription
headlessbooleanNoFalseRun browser without visible window
widthnumberNo1280Browser viewport width in pixels
heightnumberNo720Browser viewport height in pixels

Output:

FieldTypeDescription
statusstringApakah browser diluncurkan atau digunakan kembali
messagestringApakah browser diluncurkan atau digunakan kembali
is_ownerbooleanApakah browser diluncurkan atau digunakan kembali

Example: Example

yaml
headless: false

Example: Example

yaml
headless: true

Jalankan JavaScript

browser.evaluate

Jalankan kode JavaScript di konteks halaman

Parameters:

NameTypeRequiredDefaultDescription
scriptstringYes-JavaScript code to execute (can use return statement)
argsarrayNo-Arguments to pass to the script function

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
resultanyStatus operasi (success/error)

Example: Example

yaml
script: return document.title

Example: Example

yaml
script: return document.querySelectorAll("a").length

Example: Example

yaml
script: (selector) => document.querySelector(selector)?.textContent
args: ["#header"]

Example: Example

yaml
script: document.body.style.backgroundColor = "red"; return "done"

Ekstrak Data

browser.extract

Ekstrak data terstruktur dari halaman

Parameters:

NameTypeRequiredDefaultDescription
selectorstringYes-CSS selector, XPath, or text selector to find the element
limitnumberNo-Maximum number of items to extract
fieldsobjectNo-Define fields to extract from each item

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
dataarrayStatus operasi (success/error)
countnumberStatus operasi (success/error)

Example: Example

yaml
selector: .g
limit: 10
fields: {"title": {"selector": "h3", "type": "text"}, "url": {"selector": "a", "type": "attribute", "attribute": "href"}}

Temukan Elemen

browser.find

Temukan elemen di halaman dan kembalikan daftar ID elemen

Parameters:

NameTypeRequiredDefaultDescription
selectorstringYes-CSS selector, XPath, or text selector to find the element
limitnumberNo-Maximum number of items to extract

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
countnumberStatus operasi (success/error)
element_idsarrayStatus operasi (success/error)

Example: Find search results

yaml
selector: div.tF2Cxc
limit: 10

Isi Formulir

browser.form

Pengisian formulir pintar dengan deteksi bidang otomatis

Parameters:

NameTypeRequiredDefaultDescription
form_selectorstringNo-CSS selector for the form element (optional)
dataobjectYes-Key-value pairs to fill (key = field name/id, value = content)
field_mappingobjectNo-Custom selector mapping
clear_before_fillbooleanNoTrueClear existing field values before filling
submitbooleanNoFalseSubmit form after filling
submit_selectorstringNo-CSS selector for submit button
delay_between_fields_msnumberNo100Delay between filling each field (for more human-like behavior)

Output:

FieldTypeDescription
filled_fieldsarrayPenundaan antara pengisian setiap bidang (untuk perilaku lebih manusiawi)
failed_fieldsarrayDaftar bidang yang diisi
submittedbooleanDaftar bidang yang diisi

Example: Example

yaml
data: {"email": "user@example.com", "password": "secret123"}
submit: true

Example: Example

yaml
data: {"username": "john_doe", "bio": "Hello world"}
field_mapping: {"username": "#user-name-input", "bio": "textarea.bio-field"}

Ganti Frame

browser.frame

Beralih ke konteks iframe atau frame

Parameters:

NameTypeRequiredDefaultDescription
selectorstringNo-CSS selector, XPath, or text selector to find the element
namestringNo-Name attribute of the frame (alternative to selector)
urlstringNo-URL pattern to match frame (alternative to selector)
actionstringNoenterFrame action to perform
timeoutnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstringAksi frame (enter untuk beralih ke frame, list untuk daftar semua frame)
frame_urlstringAksi frame (enter untuk beralih ke frame, list untuk daftar semua frame)
frame_namestringStatus operasi (success/error)
framesarrayURL Frame

Example: Example

yaml
selector: iframe#content-frame

Example: Example

yaml
name: main-content

Example: Example

yaml
action: exit

Example: Example

yaml
action: list

Mock Geolokasi

browser.geolocation

Mock geolokasi browser

Parameters:

NameTypeRequiredDefaultDescription
latitudenumberYes-Latitude coordinate (-90 to 90)
longitudenumberYes-Longitude coordinate (-180 to 180)
accuracynumberNo100Position accuracy in meters

Output:

FieldTypeDescription
statusstringAkurasi posisi dalam meter
locationobjectAkurasi posisi dalam meter

Example: Example

yaml
latitude: 37.7749
longitude: -122.4194

Example: Example

yaml
latitude: 51.5074
longitude: -0.1278
accuracy: 10

Example: Example

yaml
latitude: 35.6762
longitude: 139.6503

Pergi ke URL

browser.goto

Navigasi ke URL tertentu

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-URL to navigate to
wait_untilselect (load, domcontentloaded, networkidle)NodomcontentloadedWhen to consider navigation complete
timeout_msnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
urlstringNavigasi ke URL tertentu

Example: Example

yaml
url: https://www.google.com
wait_until: domcontentloaded

Hover Elemen

browser.hover

Arahkan mouse ke atas elemen

Parameters:

NameTypeRequiredDefaultDescription
selectorstringYes-CSS selector, XPath, or text selector to find the element
timeout_msnumberNo30000Maximum time to wait in milliseconds
positionobjectNo-Click position relative to element (0-1 range)

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
selectorstringStatus operasi (success/error)

Example: Example

yaml
selector: .menu-item

Example: Example

yaml
selector: #dropdown-trigger
timeout_ms: 5000

Luncurkan Browser

browser.launch

Luncurkan instance browser baru dengan Playwright

Parameters:

NameTypeRequiredDefaultDescription
headlessbooleanNoFalseRun browser without visible window
widthnumberNo1280Browser viewport width in pixels
heightnumberNo720Browser viewport height in pixels
browser_typeselect (chromium, firefox, webkit)NochromiumMesin browser yang digunakan (chromium, firefox, webkit)
proxystringNo-URL server proxy
user_agentstringNo-String user agent kustom
localestringNoen-USBrowser locale (e.g. en-US, zh-TW, ja-JP)
slow_monumberNo0Memperlambat operasi dengan milidetik yang ditentukan
record_video_dirstringNo-Directory to save recorded videos (enables Playwright video recording)

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
messagestringLuncurkan instance browser baru
browser_typestringJenis browser yang diluncurkan
headlessbooleanApakah browser berjalan tanpa antarmuka
viewportobjectDimensi viewport saat ini

Example: Example

yaml
headless: true

Example: Example

yaml
headless: false

browser.navigation

Menavigasi riwayat browser (mundur, maju, muat ulang)

Parameters:

NameTypeRequiredDefaultDescription
actionselect (back, forward, reload)YesreloadWhich navigation action to perform
wait_untilselect (load, domcontentloaded, networkidle)NodomcontentloadedWhen to consider navigation complete
timeout_msnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstringStatus operasi (sukses/gagal)
actionstringAksi navigasi yang dilakukan
urlstringURL saat ini setelah navigasi

Example: Example

yaml
action: back

Example: Example

yaml
action: forward

Example: Example

yaml
action: reload
wait_until: networkidle

Monitor Jaringan

browser.network

Pantau dan cegat permintaan jaringan

Parameters:

NameTypeRequiredDefaultDescription
actionselect (monitor, block, intercept)Yes-Network action to perform
url_patternstringNo-Regex pattern to match request URLs
resource_typestringNo-Filter by resource type (document, script, image, etc)
timeoutnumberNo30000Maximum time to wait in milliseconds
mock_responseobjectNo-Response to return for intercepted requests

Output:

FieldTypeDescription
statusstringRespons untuk dikembalikan untuk permintaan yang dicegat
requestsarrayRespons untuk dikembalikan untuk permintaan yang dicegat
blocked_countnumberStatus operasi (success/error)

Example: Example

yaml
action: monitor
url_pattern: .*api.*
timeout: 10000

Example: Example

yaml
action: block
resource_type: image

Example: Example

yaml
action: intercept
url_pattern: .*users.*
mock_response: {"status": 200, "body": "{\"users\": []}"}

Daftar Halaman

browser.pages

Daftar semua halaman/tab browser yang terbuka

Parameters:

NameTypeRequiredDefaultDescription
include_detailsbooleanNoTrueSertakan informasi detail untuk setiap halaman
include_content_infobooleanNoFalseSertakan informasi tipe konten untuk setiap halaman

Output:

FieldTypeDescription
statusstringStatus operasi (berhasil/gagal)
pagesarrayDaftar halaman yang terbuka
countnumberJumlah halaman yang terbuka
current_indexnumberIndeks halaman aktif saat ini

Example: Example

yaml
include_details: true

Example: Example

yaml
include_details: false

Example: Example

yaml
include_details: true
include_content_info: true

Paginasi & Ekstrak

browser.pagination

Auto-paginasi melalui halaman dan ekstrak data

Parameters:

NameTypeRequiredDefaultDescription
modeselect (next_button, infinite_scroll, page_numbers, load_more)Nonext_buttonHow to navigate between pages
item_selectorstringYes-CSS selector for items to extract on each page
fieldsobjectNo-Field definitions {name: {selector, attribute?}}
next_selectorstringNo-CSS selector for next page button
load_more_selectorstringNo-CSS selector for load more button
max_pagesnumberNo10Maximum number of pages to process (0 = unlimited)
max_itemsnumberNo0Stop after collecting this many items (0 = unlimited)
wait_between_pages_msnumberNo1000Wait time between page navigations
wait_for_selectorstringNo-Wait for this element after page change
scroll_amountnumberNo1000Pixels to scroll for infinite scroll mode
no_more_indicatorstringNo-Selector that appears when no more pages (stops pagination)

Output:

FieldTypeDescription
itemsarrayPemilih yang muncul saat tidak ada halaman lagi (menghentikan paginasi)
total_itemsintegerSemua item yang diekstrak dari semua halaman
pages_processedintegerSemua item yang diekstrak dari semua halaman
stopped_reasonstringJumlah halaman yang diproses

Example: Example

yaml
mode: next_button
item_selector: .product-card
fields: {"title": {"selector": ".title"}, "price": {"selector": ".price"}, "link": {"selector": "a", "attribute": "href"}}
next_selector: .pagination .next
max_pages: 5

Example: Example

yaml
mode: infinite_scroll
item_selector: .feed-item
fields: {"content": {"selector": ".content"}, "author": {"selector": ".author"}}
max_items: 100
no_more_indicator: .end-of-feed

Example: Example

yaml
mode: load_more
item_selector: .list-item
load_more_selector: button.load-more
max_pages: 10

Hasilkan PDF

browser.pdf

Hasilkan PDF dari halaman saat ini

Parameters:

NameTypeRequiredDefaultDescription
pathstringNo-Path where the output file will be saved
page_sizeselect (A4, Letter, Legal, A3, A5)NoA4Page size format
orientationselect (portrait, landscape)NoportraitPage orientation
print_backgroundbooleanNoTrueInclude background graphics
scalenumberNo1Scale of the webpage rendering (0.1-2)
marginnumberNo20Page margin in millimeters
headerstringNo-Header text for each page
footerstringNo-Footer text for each page

Output:

FieldTypeDescription
statusstringSkala rendering halaman web (0.1-2)
pathstringStatus operasi (success/error)
sizenumberStatus operasi (success/error)

Example: Example

yaml
path: /output/page.pdf

Example: Example

yaml
path: /output/landscape.pdf
landscape: true

Example: Example

yaml
path: /output/custom.pdf
margin: {"top": "1cm", "bottom": "1cm", "left": "2cm", "right": "2cm"}

Metrik Kinerja

browser.performance

Kumpulkan metrik kinerja browser

Parameters:

NameTypeRequiredDefaultDescription
metricsarrayNo['all']Metrik kinerja yang akan dikumpulkan
timeout_msnumberNo3000Batas waktu dalam milidetik
setup_observersbooleanNoTrueSiapkan pengamat kinerja sebelum mengumpulkan

Output:

FieldTypeDescription
statusstringStatus operasi (berhasil/gagal)
metricsobjectMetrik kinerja yang dikumpulkan

Example: Example

yaml
metrics: ["all"]
timeout_ms: 5000

Example: Example

yaml
metrics: ["lcp", "fcp", "cls"]

Example: Example

yaml
metrics: ["ttfb", "domContentLoaded", "load"]
timeout_ms: 0

Tekan Tombol

browser.press

Tekan tombol keyboard

Parameters:

NameTypeRequiredDefaultDescription
keystringYes-The key to press (e.g., Enter, Escape, Tab)

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
keystringTekan tombol keyboard

Example: Example

yaml
key: Enter

Example: Example

yaml
key: Escape

Rekam Aksi

browser.record

Rekam aksi pengguna sebagai workflow

Parameters:

NameTypeRequiredDefaultDescription
actionstringYes-Recording action to perform
output_formatstringNoyamlFormat for recorded workflow
output_pathstringNo-Path where the output file will be saved

Output:

FieldTypeDescription
statusstringFormat untuk workflow yang direkam (yaml atau json)
recordingarrayFormat untuk workflow yang direkam (yaml atau json)
workflowstringStatus operasi (success/error)

Example: Example

yaml
action: start

Example: Example

yaml
action: stop
output_format: yaml

Example: Example

yaml
action: get

Lepaskan Browser

browser.release

Lepaskan sesi browser (tutup hanya jika dimiliki)

Parameters:

NameTypeRequiredDefaultDescription
forcebooleanNoFalseTutup browser meskipun tidak dimiliki oleh template ini

Output:

FieldTypeDescription
statusstringTutup browser meskipun tidak dimiliki oleh template ini
messagestringTindakan apa yang diambil
was_ownerbooleanTindakan apa yang diambil

Example: Example

yaml

Example: Example

yaml
force: true

Ambil Tangkapan Layar

browser.screenshot

Ambil tangkapan layar halaman saat ini

Parameters:

NameTypeRequiredDefaultDescription
pathstringNoscreenshot.pngPath where the output file will be saved
full_pagebooleanNoFalseCapture the entire scrollable page
formatselect (png, jpeg, webp)NopngImage format for the screenshot
qualitynumberNo-Quality for JPEG/WebP format (0-100)

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
filepathstringAmbil tangkapan layar halaman saat ini

Example: Example

yaml
path: output/page.png

Gulir Halaman

browser.scroll

Gulir halaman ke elemen, posisi, atau arah

Parameters:

NameTypeRequiredDefaultDescription
selectorstringNo-CSS selector, XPath, or text selector to find the element
directionselect (down, up, left, right)NodownDirection to scroll the page
amountnumberNo500Pixels to scroll (ignored if selector is provided)
behaviorselect (smooth, instant)NosmoothHow the scroll animation behaves

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
scrolled_toobjectStatus operasi (success/error)

Example: Example

yaml
selector: #footer

Example: Example

yaml
direction: down
amount: 500

Example: Example

yaml
direction: up
amount: 10000
behavior: smooth

Pilih Opsi

browser.select

Pilih opsi dari elemen dropdown

Parameters:

NameTypeRequiredDefaultDescription
selectorstringYes-CSS selector, XPath, or text selector to find the element
valuestringNo-Option value attribute to select
labelstringNo-Option text content to select (alternative to value)
indexnumberNo-Option index to select (0-based)
timeoutnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
selectedarrayStatus operasi (success/error)
selectorstringStatus operasi (success/error)

Example: Example

yaml
selector: select#country
value: us

Example: Example

yaml
selector: select#country
label: United States

Example: Example

yaml
selector: select#country
index: 2

Snapshot DOM

browser.snapshot

Tangkap snapshot DOM dari halaman saat ini

Parameters:

NameTypeRequiredDefaultDescription
formatselect (html, mhtml, text)NohtmlFormat keluaran (html atau teks)
selectorstringNo-Pemilih CSS untuk menangkap elemen tertentu
pathstringNo-Jalur untuk menyimpan snapshot

Output:

FieldTypeDescription
statusstringStatus operasi (berhasil/gagal)
formatstringFormat snapshot
contentstringKonten snapshot
pathstringJalur tempat snapshot disimpan
size_bytesnumberUkuran snapshot dalam byte

Example: Example

yaml
format: html

Example: Example

yaml
format: mhtml
path: /tmp/page.mhtml

Example: Example

yaml
format: text
selector: article.main-content

Example: Example

yaml
format: html
selector: #main
path: /tmp/section.html

Penyimpanan Browser

browser.storage

Akses localStorage dan sessionStorage

Parameters:

NameTypeRequiredDefaultDescription
actionselect (get, set, remove, clear, keys, length)Yes-Action to perform on the storage
typeselect (local, session)NolocalBrowser storage type to access
keystringNo-Storage key
valuestringNo-Value to store

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
valueanyStatus operasi (success/error)
keysarrayStatus operasi (success/error)
lengthnumberNilai yang dikembalikan

Example: Example

yaml
action: get
type: local
key: user_token

Example: Example

yaml
action: set
type: session
key: temp_data
value: {"id": 123}

Example: Example

yaml
action: clear
type: local

Example: Example

yaml
action: keys
type: local

Kelola Tab

browser.tab

Buat, ganti, dan tutup tab browser

Parameters:

NameTypeRequiredDefaultDescription
actionstringYes-Tab action to perform
urlstringNo-URL to navigate to
indexnumberNo-Tab index to switch to or close (0-based)

Output:

FieldTypeDescription
statusstringIndeks tab untuk diganti atau ditutup (berbasis 0)
tab_countnumberIndeks tab untuk diganti atau ditutup (berbasis 0)
current_indexnumberStatus operasi (success/error)
tabsarrayJumlah tab

Example: Example

yaml
action: new
url: https://example.com

Example: Example

yaml
action: switch
index: 0

Example: Example

yaml
action: close

Example: Example

yaml
action: list

Jejak Browser

browser.trace

Mulai, hentikan, atau simpan jejak kinerja browser

Parameters:

NameTypeRequiredDefaultDescription
actionstringYes-Tindakan jejak (mulai, hentikan, simpan)
categoriesarrayNo['devtools.timeline']Kategori jejak yang akan ditangkap
screenshotsbooleanNoTrueSertakan tangkapan layar dalam jejak
pathstringNo-Jalur untuk menyimpan file jejak

Output:

FieldTypeDescription
statusstringStatus operasi (berhasil/gagal)
tracingbooleanApakah penelusuran sedang aktif
pathstringJalur tempat jejak disimpan
size_bytesnumberUkuran file jejak dalam byte

Example: Example

yaml
action: start
screenshots: true

Example: Example

yaml
action: start
categories: ["devtools.timeline", "v8.execute"]
screenshots: false

Example: Example

yaml
action: stop
path: /tmp/performance-trace.json

Ketik Teks

browser.type

Ketik teks ke dalam field input

Parameters:

NameTypeRequiredDefaultDescription
type_methodselect (placeholder, label, name, id, selector)NoplaceholderChoose the easiest way to identify the input field
targetstringNo-e.g. "Enter your email", "Email", "username"
selectorstringNo-CSS selector, XPath, or text selector
input_typeselect (text, password, email)NotextType of input field — use Password to mask the value in the builder
textstringYes-
sensitive_textstringYes-
delaynumberNo0Delay between keystrokes in milliseconds
clearbooleanNoFalseClear the input field before typing
timeoutnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
browserobjectBrowser session (pass-through for chaining)
statusstringStatus operasi (success/error)
selectorstringKetik teks ke dalam field input
methodstringType method used

Example: Example

yaml
type_method: placeholder
target: Enter your email
text: user@example.com

Example: Example

yaml
type_method: label
target: Email
text: user@example.com

Example: Example

yaml
type_method: placeholder
target: Password
input_type: password
sensitive_text: ${env.LOGIN_PASSWORD}

Example: Example

yaml
type_method: selector
selector: #email
text: user@example.com

Unggah File

browser.upload

Unggah file ke elemen input file

Parameters:

NameTypeRequiredDefaultDescription
selectorstringYes-CSS selector, XPath, or text selector to find the element
file_pathstringYes-Local path to the file to upload
timeout_msnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
filenamestringStatus operasi (success/error)
sizenumberStatus operasi (success/error)
selectorstringNama file

Example: Example

yaml
selector: input[type="file"]
file_path: /path/to/image.png

Example: Example

yaml
selector: #file-upload
file_path: /path/to/document.pdf

Atur Viewport

browser.viewport

Dapatkan atau atur ukuran viewport browser

Parameters:

NameTypeRequiredDefaultDescription
widthnumberYes1280Lebar viewport dalam piksel
heightnumberYes720Tinggi viewport dalam piksel

Output:

FieldTypeDescription
statusstringStatus operasi (berhasil/gagal)
viewportobjectDimensi viewport saat ini
previous_viewportobjectDimensi viewport sebelumnya

Example: Example

yaml
width: 375
height: 667

Example: Example

yaml
width: 768
height: 1024

Example: Example

yaml
width: 1920
height: 1080

Example: Example

yaml
width: 1366
height: 768

Tunggu

browser.wait

Tunggu durasi atau sampai elemen muncul

Parameters:

NameTypeRequiredDefaultDescription
duration_msnumberNo1000Duration of the operation in milliseconds
selectorstringNo-CSS selector, XPath, or text selector to find the element
stateselect (visible, hidden, attached, detached)NovisibleStatus untuk ditunggu (terlihat, tersembunyi, terlampir, terlepas)
timeout_msnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstringStatus operasi (success/error)
selectorstringStatus operasi (success/error)
duration_msnumberTunggu durasi atau elemen muncul

Example: Example

yaml
duration_ms: 2000

Example: Example

yaml
selector: #loading-complete
timeout_ms: 5000

Released under the Apache 2.0 License.