Orbe Tài liệu English Bắt đầu

Khối và thao tác

Mọi thao tác mà một flow có thể làm, kèm các trường và ví dụ. Đây là bộ đầy đủ: flow chỉ được dựng từ các khối này, nhờ vậy chia sẻ và chạy an toàn.

Hai điều đúng với mọi thao tác ở đây: chúng chạy qua kênh nội bộ của Orbe nên không để lại dấu vết tự động hoá (không CDP, không navigator.webdriver, không cổng gỡ lỗi); và các trường bí mật, như hạt giống 2FA, nhận một tham chiếu kho bí mật nên bản thân bí mật nằm yên trong kho của bạn. Flow chỉ là dữ liệu dựng từ bộ khối cố định này, nên flow bạn nhập vào hoặc do trợ lý soạn không thể làm gì ngoài bộ đó.

Trang này được sinh từ chính bộ máy đang chạy nên luôn khớp với những gì Orbe thực sự thực hiện. Mọi khối đều không phụ thuộc nền tảng.

Thuộc tính chung

Mọi khối, dù làm gì, đều có thêm các thuộc tính sau:

wait afterkhoảng
Độ trễ từ min đến max (mili giây) sau khối, để nhịp thay đổi như người thật thay vì đều như máy. Đây là độ lệch kiểu người, bật mặc định.
on errorchoice
Việc cần làm nếu khối lỗi: screenshot_and_stop, stop hoặc continue. Đặt riêng cho từng khối để thay mặc định của lượt chạy.
notetext
Ghi chú cho riêng bạn, không chạy.
Khi một khối cần bí mật, như hạt giống 2FA trong 2FA code, hãy dùng tham chiếu kho bí mật để bí mật nằm yên trong kho của bạn. Giá trị gõ thẳng vào ô thường sẽ được lưu trong flow đúng như đã gõ. Khi lưu flow, Orbe đề nghị thay các giá trị trông như mật khẩu hoặc khoá bằng chỗ giữ chỗ. Hãy kiểm tra tệp trước khi chia sẻ.

Điều hướng

Điều hướng

Open profile open

Mở trình duyệt của hồ sơ và kết nối kênh điều khiển. Chạy các bước kiểm tra an toàn trước khi mở.

urlurl
một địa chỉ URL
{"open": {"url": "https://example.com"}}
Khối Open profile trong Trình soạn flow
Khối Open profile trong Trình soạn flow
Điều hướng

Go to URL goto

Chuyển thẻ hiện tại tới một URL.

urlurl bắt buộc
một địa chỉ URL
{"goto": {"url": "https://example.com/login"}}
Khối Go to URL trong Trình soạn flow
Khối Go to URL trong Trình soạn flow
Điều hướng

Delay wait

Dừng một số giây cố định. Muốn độ trễ ngẫu nhiên như người, dùng thuộc tính "wait after" của từng khối.

secondsnumber bắt buộc
một số
{"wait": {"seconds": 2}}
Khối Delay trong Trình soạn flow
Khối Delay trong Trình soạn flow
Điều hướng

Wait for element wait_for

Chờ đến khi xuất hiện phần tử mang chữ đã cho (hoặc hết thời gian). Dùng bộ chọn phần tử để chờ đúng một phần tử cụ thể (ví dụ nằm trong một vùng nhất định).

texttext
văn bản — có thể chứa {{biến}} — chữ HOẶC một bộ chọn phần tử
chonobject
object — bộ chọn phần tử: chờ đúng một phần tử theo aria label, role, tên trường, chữ, scope, nth và kiểu khớp (contains/exact), ví dụ một nút nằm trong một vùng nhất định
timeoutnumber
một số
{"wait_for": {"text": "Sign in", "timeout": 15}}
Khối Wait for element trong Trình soạn flow
Khối Wait for element trong Trình soạn flow
Điều hướng

Wait for page address wait_url

Chờ đến khi địa chỉ trang chứa một đoạn chữ, hoặc đến khi nó thay đổi (ví dụ sau khi đăng nhập chuyển hướng). Có thể lưu địa chỉ mới.

containstext
văn bản — có thể chứa {{biến}} — chờ đến khi địa chỉ chứa nội dung này; để trống = chờ đến khi địa chỉ thay đổi
fromtext
văn bản — có thể chứa {{biến}} — địa chỉ cần thay đổi khỏi (mặc định: địa chỉ lúc bước này bắt đầu)
timeoutnumber
một số — giây, mặc định 15
intovar
tên một biến
{"wait_url": {"contains": "/dashboard", "timeout": 20, "into": "landed"}}
Khối Wait for page address trong Trình soạn flow
Khối Wait for page address trong Trình soạn flow
Điều hướng

New tab new_tab

Mở thẻ mới (có thể kèm URL) và có thể lưu mã thẻ. Chạy qua kênh nội bộ, không có cổng gỡ lỗi.

urlurl
một địa chỉ URL
intovar
tên một biến — lưu mã thẻ mới
{"new_tab": {"url": "https://example.com", "into": "tab2"}}
Khối New tab trong Trình soạn flow
Khối New tab trong Trình soạn flow
Điều hướng

Switch tab active_tab

Đưa một thẻ lên phía trước theo mã thẻ — hoặc theo nội dung thẻ đang hiện: phần đầu địa chỉ hoặc chữ trong tiêu đề. Dừng nếu có nhiều thẻ khớp mà không đặt nth.

tabtext
văn bản — có thể chứa {{biến}} — mã thẻ (hoặc {{biến}}); hoặc để trống và khớp theo các trường bên dưới
url_starts_withtext
văn bản — có thể chứa {{biến}} — chuyển tới thẻ có địa chỉ bắt đầu bằng nội dung này
titletext
văn bản — có thể chứa {{biến}} — chuyển tới thẻ có tiêu đề chứa nội dung này
nthnumber
một số — đếm từ 0, khi có nhiều thẻ khớp
intovar
tên một biến — lưu mã của thẻ vừa chuyển tới
{"active_tab": {"tab": "{{tab2}}"}}
Khối Switch tab trong Trình soạn flow
Khối Switch tab trong Trình soạn flow
Điều hướng

Close tab close_tab

Đóng một thẻ theo mã, hoặc đóng thẻ hiện tại nếu để trống.

tabtext
văn bản — có thể chứa {{biến}} — mã thẻ; để trống thì dùng thẻ hiện tại
{"close_tab": {}}
Khối Close tab trong Trình soạn flow
Khối Close tab trong Trình soạn flow
Điều hướng

List tabs tabs

Lưu mã của mọi thẻ đang mở, theo thứ tự xuất hiện, thành một biến danh sách — lặp qua nó bằng Switch tab, hoặc đếm bằng Count list items.

intovar bắt buộc
tên một biến — lưu danh sách mã thẻ, theo thứ tự thẻ
{"tabs": {"into": "tab_ids"}}
Khối List tabs trong Trình soạn flow
Khối List tabs trong Trình soạn flow
Điều hướng

Wait for any of wait_any

Chờ đến khi một trong nhiều đoạn chữ xuất hiện trước trên trang (ví dụ thông báo thành công, lỗi hoặc captcha) và lưu cái nào khớp, để các bước sau rẽ nhánh theo kết quả tại một điểm chờ duy nhất.

anylist bắt buộc
một danh sách giá trị — danh sách chữ; chạy tiếp ngay khi một chữ xuất hiện
timeoutnumber
một số
intovar
tên một biến — lưu chữ nào đã khớp
{"wait_any": {"any": ["Welcome", "Wrong password", "Verify"], "into": "seen"}}
Khối Wait for any of trong Trình soạn flow
Khối Wait for any of trong Trình soạn flow
Điều hướng

Go back back

Quay lại một trang trong lịch sử.

{"back": {}}
Khối Go back trong Trình soạn flow
Khối Go back trong Trình soạn flow
Điều hướng

Reload reload

Tải lại trang hiện tại.

{"reload": {}}
Khối Reload trong Trình soạn flow
Khối Reload trong Trình soạn flow
Điều hướng

Close close

Đóng trình duyệt của hồ sơ.

{"close": {}}
Khối Close trong Trình soạn flow
Khối Close trong Trình soạn flow

Thao tác

Thao tác

Mouse click click

Bấm vào phần tử theo chữ hiển thị (hoặc theo toạ độ trong khung nhìn). Chuột di chuyển với nhịp như người. Khi nhiều phần tử trùng chữ, thêm bộ chọn phần tử (số thứ tự nth hoặc vùng chứa scope) để chọn đúng một cái; nếu vẫn chưa rõ, lượt chạy tạm dừng thay vì bấm nhầm.

texttext
văn bản — có thể chứa {{biến}} — bấm theo chữ hiển thị
xnumber
một số
ynumber
một số — đưa chữ, cặp x,y, HOẶC một bộ chọn phần tử
buttonchoice
một trong các lựa chọn — mặc định là trái; phải mở menu chuột phải của trang (left, right, middle)
countnumber
một số — 1, 2 hoặc 3 lần bấm (2 = bấm đúp); mặc định 1
chonobject
object — bộ chọn phần tử: aria label, role, tên trường, chữ, scope, nth và kiểu khớp (contains/exact); ưu tiên thuộc tính ổn định (aria label/role) nếu có; scope (chữ của vùng chứa) và nth (số thứ tự) thu hẹp phần còn lại; nếu vẫn chưa rõ, lượt chạy TẠM DỪNG thay vì bấm nhầm
{"click": {"text": "Sign in"}}
Khối Mouse click trong Trình soạn flow
Khối Mouse click trong Trình soạn flow
Thao tác

Type text type

Gõ chữ vào một ô với nhịp như người; có thể nhấn Enter. Hãy bấm vào ô trước (hoặc đặt 'into').

intotext
văn bản — có thể chứa {{biến}} — nhãn của ô cần đặt con trỏ vào trước
chonobject
object — bộ chọn phần tử: chọn ĐÚNG ô trong nhiều ô (aria label, role, tên trường, chữ, scope, nth, kiểu khớp); ưu tiên thuộc tính ổn định; nếu vẫn chưa rõ, lượt chạy tạm dừng
texttext bắt buộc
văn bản — có thể chứa {{biến}} — nội dung cần gõ
enterbool
true / false (bật / tắt)
{"type": {"into": "Email", "text": "{{email}}", "enter": false}}
Khối Type text trong Trình soạn flow
Khối Type text trong Trình soạn flow
Thao tác

Scroll scroll

Cuộn một cử chỉ như người; 'dy' chọn hướng (số âm = lên).

dynumber bắt buộc
một số
xnumber
một số
ynumber
một số
{"scroll": {"dy": 600}}
Khối Scroll trong Trình soạn flow
Khối Scroll trong Trình soạn flow
Thao tác

Scroll until scroll_until

Cuộn xuống bằng các cử chỉ như người cho tới khi chữ đã cho xuất hiện hoặc chạm cuối trang.

texttext bắt buộc
văn bản — có thể chứa {{biến}}
max_gesturesnumber
một số
{"scroll_until": {"text": "Load more"}}
Khối Scroll until trong Trình soạn flow
Khối Scroll until trong Trình soạn flow
Thao tác

Random scroll random_scroll

Cuộn trang theo các khoảng ngẫu nhiên, có nghỉ ngắn, giống cách một người duyệt web.

timesnumber
một số — từ 1 đến 20, mặc định 1
directionchoice
một trong các lựa chọn (down, up, both)
{"random_scroll": {"times": 3, "direction": "down"}}
Khối Random scroll trong Trình soạn flow
Khối Random scroll trong Trình soạn flow
Thao tác

Press keys hotkey

Nhấn một phím hoặc một phím tắt soạn thảo trong trang (sao chép, dán, chọn tất cả, hoàn tác, phím mũi tên, Enter…). Chỉ cho phép phím tắt soạn thảo; phím tắt của trình duyệt và hệ thống bị từ chối.

Các phím tắt sao chép, cắt và dán (Ctrl+C, Ctrl+X, Ctrl+V, Ctrl+Insert, Shift+Insert, Shift+Delete) chỉ chạy trong flow tin cậy — flow nhập từ ngoài hoặc do AI soạn sẽ hỏi quyền của bạn trước (xem Cho phép các bước nhạy cảm).

keystext bắt buộc
văn bản — có thể chứa {{biến}} — một phím hoặc phím tắt soạn thảo, ví dụ Ctrl+A, Ctrl+C, Ctrl+V, Shift+Tab, Enter
{"hotkey": {"keys": "Ctrl+A"}}
Khối Press keys trong Trình soạn flow
Khối Press keys trong Trình soạn flow

Đọc

Đọc

Read page text read

Đọc toàn bộ chữ đang hiển thị trên trang (qua lõi C++ của trình duyệt, không chạy script nào trong trang). Có thể lưu vào biến.

intovar
tên một biến
{"read": {"into": "page_text"}}
Khối Read page text trong Trình soạn flow
Khối Read page text trong Trình soạn flow
Đọc

List elements elements

Liệt kê các phần tử có thể thao tác kèm chữ và khung của chúng. Có thể lưu danh sách vào biến.

intovar
tên một biến
{"elements": {"into": "buttons"}}
Khối List elements trong Trình soạn flow
Khối List elements trong Trình soạn flow
Đọc

Get element attribute get_attribute

Đọc một thuộc tính của đúng một phần tử — chữ, nhãn truy cập, vai trò, tên trường biểu mẫu, placeholder, đã chọn hay đang bật, địa chỉ liên kết (href), kiểu trường, giá trị trường hoặc chữ thay thế của ảnh — vào một biến. Ô mật khẩu và các trường được bảo vệ không bao giờ trả giá trị. Dừng nếu có nhiều phần tử khớp; thêm nth hoặc scope để chọn một.

texttext
văn bản — có thể chứa {{biến}} — chữ hiển thị HOẶC một bộ chọn phần tử
chonobject
object — bộ chọn phần tử: nhãn aria, vai trò, tên trường biểu mẫu, chữ, scope, nth và chế độ khớp (contains/exact)
attrchoice bắt buộc
một trong các lựa chọn (text, label, role, name, placeholder, checked, enabled, href, input_type, value, alt)
intovar bắt buộc
tên một biến
{"get_attribute": {"text": "Learn more", "attr": "href", "into": "link"}}
Khối Get element attribute trong Trình soạn flow
Khối Get element attribute trong Trình soạn flow
Đọc

Count elements count_elements

Đếm các phần tử trên trang khớp với chữ hoặc bộ chọn phần tử và lưu con số (0 nếu không có phần tử nào).

texttext
văn bản — có thể chứa {{biến}} — chữ hiển thị HOẶC một bộ chọn phần tử
chonobject
object — bộ chọn phần tử: nhãn aria, vai trò, tên trường biểu mẫu, chữ, scope, nth và chế độ khớp (contains/exact)
intovar bắt buộc
tên một biến
{"count_elements": {"text": "Add to cart", "into": "n"}}
Khối Count elements trong Trình soạn flow
Khối Count elements trong Trình soạn flow
Đọc

Extract list extract

Gom một danh sách từ nhiều phần tử khớp trong một bước, ví dụ tên mọi sản phẩm trên trang, lọc theo chữ hiển thị và lưu vào một biến để các bước sau lặp qua. Đặt field là 'link' để thu địa chỉ liên kết thay vì chữ.

matchtext
văn bản — có thể chứa {{biến}} — chỉ giữ phần tử có chữ chứa nội dung này ({{biến}} dùng được); để trống = lấy tất cả
fieldchoice
một trong các lựa chọn — thu thập gì (mặc định là chữ); 'link' thu địa chỉ liên kết (text, link)
intovar bắt buộc
tên một biến — lưu danh sách
{"extract": {"field": "text", "match": "Product", "into": "product_names"}}
Khối Extract list trong Trình soạn flow
Khối Extract list trong Trình soạn flow
Đọc

Screenshot screenshot

Chụp trang qua compositor (ảnh sạch, không nhiễu canvas).

pathtext
văn bản — có thể chứa {{biến}}
{"screenshot": {"path": "after-login.png"}}
Khối Screenshot trong Trình soạn flow
Khối Screenshot trong Trình soạn flow
Đọc

Get URL get_url

Đọc URL của thẻ hiện tại vào biến.

intovar bắt buộc
tên một biến
{"get_url": {"into": "current_url"}}
Khối Get URL trong Trình soạn flow
Khối Get URL trong Trình soạn flow

Dữ liệu

Dữ liệu

Set variable set

Gán một giá trị cho biến (hỗ trợ thay thế {{biến khác}}).

namevar bắt buộc
tên một biến
valuetext bắt buộc
văn bản — có thể chứa {{biến}}
{"set": {"name": "username", "value": "alice"}}
Khối Set variable trong Trình soạn flow
Khối Set variable trong Trình soạn flow
Dữ liệu

Regex extract regex

Lấy kết quả khớp đầu tiên của biểu thức chính quy (hoặc một nhóm bắt) từ một đoạn chữ vào biến.

Trong flow không tin cậy, ví dụ script nhập từ công cụ khác, bước này dừng trước khi chạy mẫu của nó cho tới khi bạn cho phép (xem Cho phép các bước nhạy cảm).

fromtext bắt buộc
văn bản — có thể chứa {{biến}} — chữ nguồn ({{biến}} dùng được)
patterntext bắt buộc
văn bản — có thể chứa {{biến}}
intovar bắt buộc
tên một biến
groupnumber
một số — chỉ số nhóm bắt (mặc định 0 = toàn bộ phần khớp)
{"regex": {"from": "{{page_text}}", "pattern": "\\d{6}", "into": "code"}}
Khối Regex extract trong Trình soạn flow
Khối Regex extract trong Trình soạn flow
Dữ liệu

Split text split

Tách một đoạn chữ theo dấu phân cách; lưu cả danh sách hoặc một phần theo chỉ số.

fromtext bắt buộc
văn bản — có thể chứa {{biến}}
septext bắt buộc
văn bản — có thể chứa {{biến}}
intovar bắt buộc
tên một biến
indexnumber
một số — một phần theo chỉ số; bỏ trống thì lưu cả danh sách
{"split": {"from": "{{row}}", "sep": ",", "into": "cell", "index": 0}}
Khối Split text trong Trình soạn flow
Khối Split text trong Trình soạn flow
Dữ liệu

Math math

Tính một phép số học có kiểu (add/sub/mul/div/mod/pow) trên hai số vào biến, không đánh giá công thức tuỳ ý.

opchoice bắt buộc
một trong các lựa chọn (add, sub, mul, div, mod, pow)
atext bắt buộc
văn bản — có thể chứa {{biến}} — số hoặc {{biến}}
btext bắt buộc
văn bản — có thể chứa {{biến}}
intovar bắt buộc
tên một biến
{"math": {"op": "add", "a": "{{count}}", "b": "1", "into": "count"}}
Khối Math trong Trình soạn flow
Khối Math trong Trình soạn flow
Dữ liệu

Random number random_number

Chọn một số nguyên ngẫu nhiên trong khoảng min đến max (gồm cả hai đầu) vào biến.

minnumber bắt buộc
một số
maxnumber bắt buộc
một số
intovar bắt buộc
tên một biến
{"random_number": {"min": 2, "max": 8, "into": "pause"}}
Khối Random number trong Trình soạn flow
Khối Random number trong Trình soạn flow
Dữ liệu

Random text random_text

Tạo một chuỗi ngẫu nhiên có độ dài bạn chọn (chữ cái, chữ số, cả hai, hoặc hex) và lưu vào một biến.

lengthnumber bắt buộc
một số — từ 1 đến 1000 ký tự
charschoice
một trong các lựa chọn — mặc định alnum (chữ cái + chữ số) (alnum, letters, digits, hex)
intovar bắt buộc
tên một biến
{"random_text": {"length": 12, "chars": "alnum", "into": "suffix"}}
Khối Random text trong Trình soạn flow
Khối Random text trong Trình soạn flow
Dữ liệu

Read JSON read_json

Đọc một giá trị từ văn bản JSON bạn đã có trong flow (ví dụ phản hồi lưu trong một biến), theo đường dẫn như data.items.0.name. Khối này không đọc tệp.

fromtext bắt buộc
văn bản — có thể chứa {{biến}} — văn bản JSON hoặc một {{biến}} đang chứa nó
pathtext
văn bản — có thể chứa {{biến}} — ví dụ data.items.0.name; để trống = lấy tất cả
defaulttext
văn bản — có thể chứa {{biến}} — dùng khi không tìm thấy đường dẫn
intovar bắt buộc
tên một biến
{"read_json": {"from": "{{response}}", "path": "data.items.0.name", "default": "unknown", "into": "name"}}
Khối Read JSON trong Trình soạn flow
Khối Read JSON trong Trình soạn flow
Dữ liệu

Increase variable increment

Cộng thêm vào một biến số (cộng 1 nếu bạn không đặt số khác). Biến rỗng hoặc mới được tính là 0.

namevar bắt buộc
tên một biến — một biến số (bắt đầu từ 0 nếu rỗng)
bynumber
một số — mặc định 1; một số hoặc {{biến}}
{"increment": {"name": "count", "by": 1}}
Khối Increase variable trong Trình soạn flow
Khối Increase variable trong Trình soạn flow
Dữ liệu

Decrease variable decrement

Trừ bớt một biến số (trừ 1 nếu bạn không đặt số khác). Biến rỗng hoặc mới được tính là 0.

namevar bắt buộc
tên một biến — một biến số (bắt đầu từ 0 nếu rỗng)
bynumber
một số — mặc định 1; một số hoặc {{biến}}
{"decrement": {"name": "count", "by": 1}}
Khối Decrease variable trong Trình soạn flow
Khối Decrease variable trong Trình soạn flow
Dữ liệu

Count list items count_items

Lưu số phần tử mà một biến danh sách đang chứa (0 nếu rỗng).

fromvar bắt buộc
tên một biến — một biến dạng danh sách
intovar bắt buộc
tên một biến
{"count_items": {"from": "tab_ids", "into": "tab_count"}}
Khối Count list items trong Trình soạn flow
Khối Count list items trong Trình soạn flow
Dữ liệu

Transform list transform

Biến đổi một biến dạng danh sách: sắp xếp, đảo ngược, bỏ trùng, cắt đoạn, nối thành chuỗi hoặc đếm độ dài.

opchoice bắt buộc
một trong các lựa chọn (sort, reverse, unique, slice, join, length)
fromvar bắt buộc
tên một biến — một biến dạng danh sách
intovar bắt buộc
tên một biến
septext
văn bản — có thể chứa {{biến}} — dùng cho join
startnumber
một số — dùng cho slice
endnumber
một số — dùng cho slice
numericbool
true / false (bật / tắt) — sắp xếp theo số
descbool
true / false (bật / tắt) — sắp xếp giảm dần
{"transform": {"op": "unique", "from": "emails", "into": "unique_emails"}}
Khối Transform list trong Trình soạn flow
Khối Transform list trong Trình soạn flow
Dữ liệu

Ask a person prompt

Tạm dừng và hỏi người dùng một câu (ví dụ đáp án captcha hoặc mã dùng một lần), lưu câu trả lời rồi chạy tiếp.

messagetext bắt buộc
văn bản — có thể chứa {{biến}}
intovar bắt buộc
tên một biến
{"prompt": {"message": "Nhập mã trong tin nhắn SMS", "into": "code"}}
Khối Ask a person trong Trình soạn flow
Khối Ask a person trong Trình soạn flow
Dữ liệu

Save state state_set

Lưu một giá trị theo khoá, giữ được qua các lượt chạy, để việc kéo dài nhiều ngày nhớ được tiến độ.

keytext bắt buộc
văn bản — có thể chứa {{biến}}
valuetext bắt buộc
văn bản — có thể chứa {{biến}}
{"state_set": {"key": "last_row", "value": "{{i}}"}}
Khối Save state trong Trình soạn flow
Khối Save state trong Trình soạn flow
Dữ liệu

Load state state_get

Nạp giá trị đã lưu trước đó theo khoá (kèm giá trị mặc định nếu chưa có gì).

keytext bắt buộc
văn bản — có thể chứa {{biến}}
intovar bắt buộc
tên một biến
defaulttext
văn bản — có thể chứa {{biến}}
{"state_get": {"key": "last_row", "into": "start", "default": "0"}}
Khối Load state trong Trình soạn flow
Khối Load state trong Trình soạn flow
Dữ liệu

Get cookies cookies

Đọc cookie của một URL qua kho cookie của tiến trình trình duyệt (không qua CDP, không có cổng gỡ lỗi nào để kẻ xấu đọc). Có thể lưu danh sách vào biến.

urlurl
một địa chỉ URL
intovar
tên một biến
{"cookies": {"url": "https://example.com", "into": "jar"}}
Khối Get cookies trong Trình soạn flow
Khối Get cookies trong Trình soạn flow
Dữ liệu

Clear cookies clear_cookies

Xoá cookie của một URL (có thể chỉ một tên). Có thể lưu số lượng đã xoá.

urlurl
một địa chỉ URL
nametext
văn bản — có thể chứa {{biến}}
intovar
tên một biến — lưu số lượng đã xoá
{"clear_cookies": {"url": "https://example.com"}}
Khối Clear cookies trong Trình soạn flow
Khối Clear cookies trong Trình soạn flow

Điều khiển

Điều khiển

Call workflow call

Chạy một flow khác đã lưu như một bước con. Flow con được tìm trên máy (không tải từ mạng), kế thừa mức tin cậy thấp nhất giữa bên gọi và bên được gọi, và dùng chung tổng số bước của lượt chạy.

flowflow_ref bắt buộc
một flow đã lưu (tìm trên máy, không tải từ mạng) — mã của một flow đã lưu TRÊN MÁY, không dùng URL/đường dẫn (không tải từ mạng)
{"call": {"flow": "sign-in"}}
Khối Call workflow trong Trình soạn flow
Khối Call workflow trong Trình soạn flow
Điều khiển · điều khiển

If if

Chạy các bước 'then' khi điều kiện đúng, ngược lại chạy các bước 'else'.

condchoice bắt buộc
một trong các lựa chọn — khoá được chọn chứa giá trị điều kiện trong params (text_present, element_present, var_equals)
{"if": {"text_present": "Verify"}, "then": [ … ], "else": [ … ]}
Khối If trong Trình soạn flow
Khối If trong Trình soạn flow
Điều khiển · điều khiển

For (repeat) repeat

Lặp các bước một số lần cố định, một lần cho mỗi dòng của tệp CSV, hoặc một lần cho mỗi phần tử của một biến danh sách. Mỗi lượt, {{item}} (hoặc tên bạn chọn) giữ phần tử hiện tại; phần tử tự nó là danh sách hoặc đối tượng thì đọc tiếp bằng Read JSON.

modechoice bắt buộc
một trong các lựa chọn (times, for_each_row, for_each_item)
timesnumber
một số
for_each_itemvar
tên một biến — một biến danh sách (ví dụ từ Extract list, List tabs hoặc Read JSON)
asvar
tên một biến — tên cho phần tử hiện tại (mặc định item)
index_asvar
tên một biến — tên cho vị trí của nó, đếm từ 0
{"repeat": {"times": 3}, "do": [ … ]}
Khối For (repeat) trong Trình soạn flow
Khối For (repeat) trong Trình soạn flow
Điều khiển · điều khiển

Retry retry

Chạy các bước và thử lại khi lỗi, tối đa một giới hạn.

timesnumber
một số
backoffnumber
một số
{"retry": {"times": 3, "backoff": 2}, "do": [ … ]}
Khối Retry trong Trình soạn flow
Khối Retry trong Trình soạn flow
Điều khiển · điều khiển

Try / on error try

Chạy các bước 'do'; nếu có bước nào lỗi thì chạy các bước 'fallback' (xử lý lỗi theo từng khối, ví dụ bộ chọn dự phòng).

{"try": {}, "do": [ … ], "fallback": [ … ]}
Khối Try / on error trong Trình soạn flow
Khối Try / on error trong Trình soạn flow
Điều khiển · điều khiển

While while

Lặp các bước trong khi điều kiện còn đúng (có giới hạn để không chạy vô hạn).

condchoice bắt buộc
một trong các lựa chọn — lặp khi điều kiện này còn đúng (params chứa giá trị điều kiện) (text_present, element_present, var_equals)
maxnumber
một số — giới hạn số vòng lặp (mặc định 1000)
{"while": {"element_present": "Next", "max": 50}, "do": [ … ]}
Khối While trong Trình soạn flow
Khối While trong Trình soạn flow
Điều khiển

Stop stop

Dừng flow êm (không phải lỗi), có thể kèm lý do.

reasontext
văn bản — có thể chứa {{biến}}
{"stop": {"reason": "phát hiện điểm kiểm tra"}}
Khối Stop trong Trình soạn flow
Khối Stop trong Trình soạn flow
Điều khiển

Exit loop exit_loop

Thoát khỏi vòng lặp gần nhất.

{"exit_loop": {}}
Khối Exit loop trong Trình soạn flow
Khối Exit loop trong Trình soạn flow
Điều khiển

Next loop next_loop

Bỏ qua phần còn lại của lượt lặp này và chạy tiếp vòng lặp.

{"next_loop": {}}
Khối Next loop trong Trình soạn flow
Khối Next loop trong Trình soạn flow
Điều khiển

Throw error throw

Dừng flow với một lỗi và thông báo tuỳ chọn.

messagetext
văn bản — có thể chứa {{biến}}
{"throw": {"message": "trang không như dự kiến"}}
Khối Throw error trong Trình soạn flow
Khối Throw error trong Trình soạn flow
Điều khiển

Verify (checkpoint) assert

Kiểm một điều kiện và dừng lượt chạy kèm lý do rõ ràng nếu không đạt: một điểm kiểm tra báo lỗi to thay vì để flow chạy tiếp trên trạng thái hỏng (ví dụ kiểm đã đăng nhập, hoặc không có captcha, trước khi đi tiếp).

thatchoice bắt buộc
một trong các lựa chọn (present, absent, equals, contains)
texttext
văn bản — có thể chứa {{biến}} — dùng cho present/absent (chữ trên trang)
valuetext
văn bản — có thể chứa {{biến}} — dùng cho equals/contains ({{biến}} dùng được)
expectedtext
văn bản — có thể chứa {{biến}} — dùng cho equals/contains
messagetext
văn bản — có thể chứa {{biến}} — lý do lỗi tuỳ chọn
{"assert": {"that": "present", "text": "Log out", "message": "chưa đăng nhập"}}
Khối Verify (checkpoint) trong Trình soạn flow
Khối Verify (checkpoint) trong Trình soạn flow

Hộp thoại

Hộp thoại

Accept dialog accept_alert

Chấp nhận hộp thoại JavaScript mà trang vừa mở (alert/confirm/prompt).

{"accept_alert": {}}
Khối Accept dialog trong Trình soạn flow
Khối Accept dialog trong Trình soạn flow
Hộp thoại

Dismiss dialog cancel_alert

Bỏ qua hộp thoại JavaScript mà trang vừa mở.

{"cancel_alert": {}}
Khối Dismiss dialog trong Trình soạn flow
Khối Dismiss dialog trong Trình soạn flow

Proxy

Proxy

Rotate proxy IP rotate_proxy

Lấy IP mới cho cổng proxy của hồ sơ và chờ IP mới sẵn sàng (tối đa 60 giây) trước khi sang bước kế.

waitnumber
một số — số giây nghỉ thêm sau khi IP mới sẵn sàng
intovar
tên một biến
{"rotate_proxy": {"wait": 5, "into": "new_ip"}}
Khối Rotate proxy IP trong Trình soạn flow
Khối Rotate proxy IP trong Trình soạn flow
Proxy

Set proxy set_proxy

Đổi hồ sơ sang một proxy đầu nguồn khác. Chỉ chạy trong flow tin cậy.

port_idtext
văn bản — có thể chứa {{biến}} — một trong các cổng proxy bạn đang thuê (tab Proxy) — hoặc điền host + port bên dưới
hosttext
văn bản — có thể chứa {{biến}} — proxy bên khác — tối đa 20 hồ sơ mỗi tài khoản
portnumber
một số
usertext
văn bản — có thể chứa {{biến}}
passtext
văn bản — có thể chứa {{biến}} — giá trị cố định hoặc {{biến}}, chỉ trong flow tin cậy
{"set_proxy": {"host": "1.2.3.4", "port": 8080, "user": "u", "pass": "{{proxy_pass}}"}}
Khối Set proxy trong Trình soạn flow
Khối Set proxy trong Trình soạn flow

Mạng

Mạng

HTTP request http_request

Gửi một yêu cầu HTTPS từ bộ chạy và lưu {status, headers, body}. Chống SSRF: chỉ https, IP đã phân giải được ghim, đích nội bộ/riêng tư/metadata và các cổng của Orbe bị từ chối, mỗi lần chuyển hướng đều kiểm lại. Chỉ chạy trong flow tin cậy và không gửi kèm cookie hay thông tin đăng nhập nào.

urlurl bắt buộc
một địa chỉ URL — chỉ https://
methodtext
văn bản — có thể chứa {{biến}} — GET (mặc định)/POST/…
headersmap
tập các cặp khoá: giá trị (ví dụ header của yêu cầu) — chỉ những gì tác giả khai
bodytext
văn bản — có thể chứa {{biến}}
intovar bắt buộc
tên một biến — lưu {status,headers,body}
timeoutnumber
một số
{"http_request": {"url": "https://api.example.com/item", "method": "GET", "into": "resp"}}
Khối HTTP request trong Trình soạn flow
Khối HTTP request trong Trình soạn flow

Dựng các khối này bằng giao diện trong Trình soạn flow, hoặc điều khiển cùng các thao tác bằng mã qua SDK và MCP.