Skip to content

Browser Automation

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

38 modules

ModuleDescription
요소 클릭페이지의 요소 클릭
브라우저 닫기브라우저 인스턴스 닫기 및 리소스 해제
콘솔 캡처브라우저 콘솔 로그 캡처 (오류, 경고, 정보)
쿠키 관리브라우저 쿠키 가져오기, 설정 또는 지우기
대화상자 처리경고, 확인 및 프롬프트 대화상자 처리
파일 다운로드브라우저에서 파일 다운로드
드래그 앤 드롭요소 드래그 앤 드롭
장치 에뮬레이트장치를 에뮬레이트하거나 사용자 정의 뷰포트 설정
브라우저 확인브라우저 세션이 존재하는지 확인 (재사용 또는 실행)
JavaScript 실행페이지 컨텍스트에서 JavaScript 코드 실행
데이터 추출페이지에서 구조화된 데이터 추출
요소 찾기페이지에서 요소 찾기 및 요소 ID 목록 반환
양식 채우기자동 필드 감지로 스마트하게 양식 채우기
프레임 전환iframe 또는 frame 컨텍스트로 전환
지오로케이션 모킹브라우저 지오로케이션 모킹
URL로 이동특정 URL로 이동
요소 호버요소 위로 마우스 호버
브라우저 실행Playwright로 새 브라우저 인스턴스 실행
기록 탐색브라우저 기록 탐색 (뒤로, 앞으로, 새로고침)
네트워크 모니터네트워크 요청 모니터링 및 가로채기
페이지 목록열려 있는 모든 브라우저 페이지/탭 목록
페이지 넘기기 및 추출페이지를 자동으로 넘기면서 데이터 추출
PDF 생성현재 페이지에서 PDF 생성
성능 지표브라우저 성능 지표 수집
키 누르기키보드 키 누르기
작업 기록사용자 작업을 워크플로로 기록
브라우저 해제브라우저 세션 해제 (소유한 경우에만 닫기)
스크린샷 촬영현재 페이지의 스크린샷 촬영
페이지 스크롤페이지를 요소, 위치 또는 방향으로 스크롤
옵션 선택드롭다운 요소에서 옵션 선택
DOM 스냅샷현재 페이지의 DOM 스냅샷 캡처
브라우저 저장소localStorage 및 sessionStorage 접근
탭 관리브라우저 탭 생성, 전환 및 닫기
브라우저 추적브라우저 성능 추적 시작, 중지 또는 저장
텍스트 입력입력 필드에 텍스트 입력
파일 업로드파일 입력 요소에 파일 업로드
뷰포트 설정브라우저 뷰포트 크기 가져오기 또는 설정하기
대기지정된 시간 동안 또는 요소가 나타날 때까지 대기

Modules

요소 클릭

browser.click

페이지의 요소 클릭

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)
statusstring작업 상태 (성공/오류)
selectorstring작업 상태 (성공/오류)
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

브라우저 닫기

browser.close

브라우저 인스턴스 닫기 및 리소스 해제

Parameters:

NameTypeRequiredDefaultDescription
_no_paramsbooleanNoTrueThis module requires no parameters

Output:

FieldTypeDescription
statusstring브라우저 인스턴스 닫기
messagestring브라우저 인스턴스 닫기

Example: Example

yaml

콘솔 캡처

browser.console

브라우저 콘솔 로그 캡처 (오류, 경고, 정보)

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
statusstring작업 상태 (성공/오류)
messagesarray작업 상태 (성공/오류)
countnumber작업 상태 (성공/오류)

Example: Example

yaml
timeout: 3000

Example: Example

yaml
level: error
timeout: 5000

쿠키 관리

browser.cookies

브라우저 쿠키 가져오기, 설정 또는 지우기

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
statusstring작업 상태 (성공/오류)
cookiesarray작업 상태 (성공/오류)
countnumber작업 상태 (성공/오류)

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

대화상자 처리

browser.dialog

경고, 확인 및 프롬프트 대화상자 처리

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
statusstring작업 상태 (성공/오류)
messagestring작업 상태 (성공/오류)
typestring작업 상태 (성공/오류)
default_valuestring결과를 설명하는 메시지

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

파일 다운로드

browser.download

브라우저에서 파일 다운로드

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
statusstring작업 상태 (성공/오류)
pathstring작업 상태 (성공/오류)
filenamestring작업 상태 (성공/오류)
sizenumber파일 또는 리소스 경로

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

드래그 앤 드롭

browser.drag

요소 드래그 앤 드롭

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
statusstring대상 요소 내 위치 {x, y} (백분율)
sourcestring대상 요소 내 위치 {x, y} (백분율)
targetstring작업 상태 (성공/오류)

Example: Example

yaml
source: #item1
target: #dropzone

Example: Example

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

장치 에뮬레이트

browser.emulate

장치를 에뮬레이트하거나 사용자 정의 뷰포트 설정

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-에뮬레이트할 장치 이름 (예: iPhone 13)
widthnumberNo-뷰포트 너비 (픽셀)
heightnumberNo-뷰포트 높이 (픽셀)
user_agentstringNo-사용자 정의 User Agent 문자열
is_mobilebooleanNo-모바일 장치 에뮬레이션 여부
has_touchbooleanNo-장치에 터치 지원 여부
device_scale_factornumberNo-장치 픽셀 비율

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
devicestring에뮬레이트된 장치 이름
viewportobject현재 뷰포트 크기
is_mobileboolean모바일 에뮬레이션 활성 여부

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

브라우저 확인

browser.ensure

브라우저 세션이 존재하는지 확인 (재사용 또는 실행)

Parameters:

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

Output:

FieldTypeDescription
statusstring브라우저가 실행되었는지 또는 재사용되었는지 여부
messagestring브라우저가 실행되었는지 또는 재사용되었는지 여부
is_ownerboolean브라우저가 실행되었는지 또는 재사용되었는지 여부

Example: Example

yaml
headless: false

Example: Example

yaml
headless: true

JavaScript 실행

browser.evaluate

페이지 컨텍스트에서 JavaScript 코드 실행

Parameters:

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

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
resultany작업 상태 (성공/오류)

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"

데이터 추출

browser.extract

페이지에서 구조화된 데이터 추출

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
statusstring작업 상태 (성공/오류)
dataarray작업 상태 (성공/오류)
countnumber작업 상태 (성공/오류)

Example: Example

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

요소 찾기

browser.find

페이지에서 요소 찾기 및 요소 ID 목록 반환

Parameters:

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

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
countnumber작업 상태 (성공/오류)
element_idsarray작업 상태 (성공/오류)

Example: Find search results

yaml
selector: div.tF2Cxc
limit: 10

양식 채우기

browser.form

자동 필드 감지로 스마트하게 양식 채우기

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_fieldsarray각 필드를 채우는 사이의 지연 시간 (더 자연스러운 동작을 위해)
failed_fieldsarray채워진 필드 목록
submittedboolean채워진 필드 목록

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"}

프레임 전환

browser.frame

iframe 또는 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
statusstring프레임 작업 (enter: 프레임 전환, list: 모든 프레임 나열)
frame_urlstring프레임 작업 (enter: 프레임 전환, list: 모든 프레임 나열)
frame_namestring작업 상태 (성공/오류)
framesarray프레임 URL

Example: Example

yaml
selector: iframe#content-frame

Example: Example

yaml
name: main-content

Example: Example

yaml
action: exit

Example: Example

yaml
action: list

지오로케이션 모킹

browser.geolocation

브라우저 지오로케이션 모킹

Parameters:

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

Output:

FieldTypeDescription
statusstring위치 정확도 (미터)
locationobject위치 정확도 (미터)

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

URL로 이동

browser.goto

특정 URL로 이동

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
statusstring작업 상태 (성공/오류)
urlstring특정 URL로 이동

Example: Example

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

요소 호버

browser.hover

요소 위로 마우스 호버

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
statusstring작업 상태 (성공/오류)
selectorstring작업 상태 (성공/오류)

Example: Example

yaml
selector: .menu-item

Example: Example

yaml
selector: #dropdown-trigger
timeout_ms: 5000

브라우저 실행

browser.launch

Playwright로 새 브라우저 인스턴스 실행

Parameters:

NameTypeRequiredDefaultDescription
headlessbooleanNoFalseRun browser without visible window
widthnumberNo1280Browser viewport width in pixels
heightnumberNo720Browser viewport height in pixels
browser_typeselect (chromium, firefox, webkit)Nochromium사용할 브라우저 엔진 (chromium, firefox, webkit)
proxystringNo-프록시 서버 URL
user_agentstringNo-사용자 정의 User Agent 문자열
localestringNoen-USBrowser locale (e.g. en-US, zh-TW, ja-JP)
slow_monumberNo0지정된 밀리초만큼 작업 속도 늦추기
record_video_dirstringNo-Directory to save recorded videos (enables Playwright video recording)

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
messagestring새 브라우저 인스턴스 실행
browser_typestring실행된 브라우저 유형
headlessboolean브라우저가 헤드리스로 실행 중인지 여부
viewportobject현재 뷰포트 크기

Example: Example

yaml
headless: true

Example: Example

yaml
headless: false

기록 탐색

browser.navigation

브라우저 기록 탐색 (뒤로, 앞으로, 새로고침)

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
statusstring작업 상태 (성공/오류)
actionstring수행된 탐색 작업
urlstring탐색 후 현재 URL

Example: Example

yaml
action: back

Example: Example

yaml
action: forward

Example: Example

yaml
action: reload
wait_until: networkidle

네트워크 모니터

browser.network

네트워크 요청 모니터링 및 가로채기

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
statusstring가로챈 요청에 반환할 응답
requestsarray가로챈 요청에 반환할 응답
blocked_countnumber작업 상태 (성공/오류)

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\": []}"}

페이지 목록

browser.pages

열려 있는 모든 브라우저 페이지/탭 목록

Parameters:

NameTypeRequiredDefaultDescription
include_detailsbooleanNoTrue각 페이지의 세부 정보 포함
include_content_infobooleanNoFalse각 페이지의 콘텐츠 유형 정보 포함

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
pagesarray열려 있는 페이지 목록
countnumber열려 있는 페이지 수
current_indexnumber현재 활성 페이지의 인덱스

Example: Example

yaml
include_details: true

Example: Example

yaml
include_details: false

Example: Example

yaml
include_details: true
include_content_info: true

페이지 넘기기 및 추출

browser.pagination

페이지를 자동으로 넘기면서 데이터 추출

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
itemsarray더 이상 페이지가 없을 때 나타나는 선택자 (페이지 넘기기 중지)
total_itemsinteger모든 페이지에서 추출된 모든 항목
pages_processedinteger모든 페이지에서 추출된 모든 항목
stopped_reasonstring처리된 페이지 수

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

PDF 생성

browser.pdf

현재 페이지에서 PDF 생성

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
statusstring웹페이지 렌더링 스케일 (0.1-2)
pathstring작업 상태 (성공/오류)
sizenumber작업 상태 (성공/오류)

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"}

성능 지표

browser.performance

브라우저 성능 지표 수집

Parameters:

NameTypeRequiredDefaultDescription
metricsarrayNo['all']수집할 성능 지표
timeout_msnumberNo3000밀리초 단위의 시간 초과
setup_observersbooleanNoTrue수집 전에 성능 관찰자 설정

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
metricsobject수집된 성능 지표

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

키 누르기

browser.press

키보드 키 누르기

Parameters:

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

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
keystring키보드 키 누르기

Example: Example

yaml
key: Enter

Example: Example

yaml
key: Escape

작업 기록

browser.record

사용자 작업을 워크플로로 기록

Parameters:

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

Output:

FieldTypeDescription
statusstring기록된 워크플로 형식 (yaml 또는 json)
recordingarray기록된 워크플로 형식 (yaml 또는 json)
workflowstring작업 상태 (성공/오류)

Example: Example

yaml
action: start

Example: Example

yaml
action: stop
output_format: yaml

Example: Example

yaml
action: get

브라우저 해제

browser.release

브라우저 세션 해제 (소유한 경우에만 닫기)

Parameters:

NameTypeRequiredDefaultDescription
forcebooleanNoFalse이 템플릿이 소유하지 않은 경우에도 브라우저 닫기

Output:

FieldTypeDescription
statusstring이 템플릿이 소유하지 않은 경우에도 브라우저 닫기
messagestring수행된 작업
was_ownerboolean수행된 작업

Example: Example

yaml

Example: Example

yaml
force: true

스크린샷 촬영

browser.screenshot

현재 페이지의 스크린샷 촬영

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
statusstring작업 상태 (성공/오류)
filepathstring현재 페이지의 스크린샷 촬영

Example: Example

yaml
path: output/page.png

페이지 스크롤

browser.scroll

페이지를 요소, 위치 또는 방향으로 스크롤

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
statusstring작업 상태 (성공/오류)
scrolled_toobject작업 상태 (성공/오류)

Example: Example

yaml
selector: #footer

Example: Example

yaml
direction: down
amount: 500

Example: Example

yaml
direction: up
amount: 10000
behavior: smooth

옵션 선택

browser.select

드롭다운 요소에서 옵션 선택

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
statusstring작업 상태 (성공/오류)
selectedarray작업 상태 (성공/오류)
selectorstring작업 상태 (성공/오류)

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

DOM 스냅샷

browser.snapshot

현재 페이지의 DOM 스냅샷 캡처

Parameters:

NameTypeRequiredDefaultDescription
formatselect (html, mhtml, text)Nohtml출력 형식 (html 또는 text)
selectorstringNo-특정 요소를 스냅샷하기 위한 CSS 선택자
pathstringNo-스냅샷을 저장할 경로

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
formatstring스냅샷 형식
contentstring스냅샷 콘텐츠
pathstring스냅샷이 저장된 경로
size_bytesnumber바이트 단위의 스냅샷 크기

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

브라우저 저장소

browser.storage

localStorage 및 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
statusstring작업 상태 (성공/오류)
valueany작업 상태 (성공/오류)
keysarray작업 상태 (성공/오류)
lengthnumber반환된 값

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

탭 관리

browser.tab

브라우저 탭 생성, 전환 및 닫기

Parameters:

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

Output:

FieldTypeDescription
statusstring전환 또는 닫을 탭 인덱스 (0부터 시작)
tab_countnumber전환 또는 닫을 탭 인덱스 (0부터 시작)
current_indexnumber작업 상태 (성공/오류)
tabsarray탭 수

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

브라우저 추적

browser.trace

브라우저 성능 추적 시작, 중지 또는 저장

Parameters:

NameTypeRequiredDefaultDescription
actionstringYes-추적 작업 (시작, 중지, 저장)
categoriesarrayNo['devtools.timeline']캡처할 추적 카테고리
screenshotsbooleanNoTrue추적에 스크린샷 포함
pathstringNo-추적 파일을 저장할 경로

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
tracingboolean현재 추적이 활성화되어 있는지 여부
pathstring추적이 저장된 경로
size_bytesnumber바이트 단위의 추적 파일 크기

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

텍스트 입력

browser.type

입력 필드에 텍스트 입력

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)
statusstring작업 상태 (성공/오류)
selectorstring입력 필드에 텍스트 입력
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

파일 업로드

browser.upload

파일 입력 요소에 파일 업로드

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
statusstring작업 상태 (성공/오류)
filenamestring작업 상태 (성공/오류)
sizenumber작업 상태 (성공/오류)
selectorstring파일 이름

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

뷰포트 설정

browser.viewport

브라우저 뷰포트 크기 가져오기 또는 설정하기

Parameters:

NameTypeRequiredDefaultDescription
widthnumberYes1280뷰포트 너비 (픽셀)
heightnumberYes720뷰포트 높이 (픽셀)

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
viewportobject현재 뷰포트 크기
previous_viewportobject이전 뷰포트 크기

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

대기

browser.wait

지정된 시간 동안 또는 요소가 나타날 때까지 대기

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)Novisible기다릴 상태 (보임, 숨김, 첨부됨, 분리됨)
timeout_msnumberNo30000Maximum time to wait in milliseconds

Output:

FieldTypeDescription
statusstring작업 상태 (성공/오류)
selectorstring작업 상태 (성공/오류)
duration_msnumber시간 동안 또는 요소가 나타날 때까지 대기

Example: Example

yaml
duration_ms: 2000

Example: Example

yaml
selector: #loading-complete
timeout_ms: 5000

Released under the Apache 2.0 License.