GREAT LOTUS PYAUTO WEB — Tài liệu action

10 action groups: ManagerAction, MouseAction, KeyboardAction, BrowserControl, ElementAction, ImageAction, OthersAction, EmailAction, DeveloperAction, General Debug

Mỗi action trong n8n có một link 📘 dẫn thẳng tới trang tương ứng bên dưới. Tổng cộng 58 action trong 10 nhóm.

Trường dùng chung cho mọi action

Trường Ý nghĩa
Topic Topic MQTT gửi tới máy Client (vd WP2_PC176). Bắt buộc.
QoS 0 / 1 / 2 — mặc định 1.
Include Input Items Đính kèm field từ node trước vào payload.inputs.inputItems.
Wait For Response Chờ Client trả lời trên RES_<topic> rồi mới đi tiếp.
Response Timeout (sec) Thời gian chờ tối đa (chỉ hiện khi bật Wait For Response).
⌛Delay Next Step (ms) Delay trước bước kế tiếp; hỗ trợ rand(a,b).

1. ManagerAction 6 action

Action Chức năng Tham số
GPM_connect
manager.gpm_connect
Mở trình duyệt local rồi giữ phiên làm việc. Tên gọi lịch sử: Client A13 hiện chỉ gọi lại local_browser_connect và ép use_local_test_profile=false — KHÔNG hề gọi GPM API. Muốn mở profile GPM thật thì dùng Open Profile. 13
Local_browser_connect
manager.local_browser_connect
Tự khởi chạy Chrome/Edge/Firefox/Brave trên máy Client bằng dòng lệnh, mở sẵn URL, rồi ghi nhớ cửa sổ đó làm mục tiêu cho mọi action sau. Là action duy nhất hiểu Use Local Test Profile (dùng bản sao profile trong runtime_profiles/local_test_profile). 13
Open Profile
manager.open_profile
Nhờ GPM Login mở một profile theo Profile ID (gọi GET /profiles/start/<id>), sau đó bám lấy cửa sổ vừa hiện và ghi nhớ cổng remote debugging để các action DOM/CDP dùng về sau. Dùng khi cần chống fingerprint bằng profile GPM thay vì trình duyệt local. 15
Sync Master Profile
manager.sync_master_profile_to_local_test_profile
Nhân bản một profile trình duyệt có thật (cookie, đăng nhập, extension) sang thư mục sandbox runtime_profiles/local_test_profile. Chạy trước khi test để có sẵn trạng thái đăng nhập mà không phải mở — và không làm bẩn — profile thật. 1
Clear Local Test Profile
manager.clear_local_test_profile
Xóa sạch thư mục sandbox local_test_profile. Dùng để reset về profile trắng khi cần test lại luồng đăng nhập từ đầu, thu hồi dung lượng, hoặc dọn cookie/session còn sót sau khi chạy xong. Không đụng tới profile gốc. 0
quit
manager.quit
Đóng toàn bộ tiến trình trình duyệt mà A13 đã tự mở và reset state phiên (cửa sổ mục tiêu, tab, frame). Lưu ý: KHÔNG đóng profile GPM đã mở bằng Open Profile. 1

2. MouseAction 9 action

Action Chức năng Tham số
click
mouse.click
Click chuột vật lý một lần (hoặc N lần liên tiếp) tại tọa độ X,Y hoặc tại phần tử chỉ định bằng XPath. Chuột di chuyển theo quỹ đạo giống người thật trước khi bấm. 7
many_click
mouse.many_click
Click lặp đi lặp lại cho tới khi ảnh dừng xuất hiện trên màn hình hoặc hết timeout. Dùng cho nút "Tiếp tục/Next/Skip" phải bấm nhiều lần mà không biết trước bao nhiêu lần. 9
move
mouse.move
Chỉ di chuyển con trỏ tới tọa độ hoặc phần tử, không bấm. Chọn được kiểu di chuyển natural/linear/hesitant để mô phỏng người thật — hữu ích khi cần kích hoạt hiệu ứng hover hoặc "làm ấm" hành vi chuột trước thao tác quan trọng. 6
mouse_click_and_hold
mouse.mouse_click_and_hold
Nhấn giữ nút chuột và KHÔNG nhả ra. Là nửa đầu của thao tác kéo-thả hoặc bôi đen; phải gọi Mouse Release sau đó để kết thúc. 5
mouse_release
mouse.mouse_release
Nhả nút chuột đang được giữ. Là nửa sau của cặp mouse_click_and_hold → (move) → mouse_release. 1
mouse_scroll
mouse.mouse_scroll
Cuộn trang theo số pixel chỉ định, lên hoặc xuống. Có thể cuộn tại vị trí một phần tử cụ thể (đưa chuột tới đó trước khi cuộn) để cuộn đúng vùng scroll lồng nhau. 5
mouse_scroll_top
mouse.mouse_scroll_top
Cuộn thẳng lên đầu trang. Tiện để đưa trang về mốc xác định trước khi đo tọa độ hoặc chụp ảnh. 1
mouse_scroll_bottom
mouse.mouse_scroll_bottom
Cuộn thẳng xuống cuối trang. Hay dùng để kích hoạt lazy-load hoặc infinite scroll. 1
mouse_scroll_object
mouse.mouse_scroll_object
Cuộn cho tới khi phần tử theo XPath lọt vào vùng nhìn thấy, tối đa trong timeout_sec giây. Dùng khi nút cần bấm nằm ngoài màn hình và không biết phải cuộn bao nhiêu. 4

3. KeyboardAction 5 action

Action Chức năng Tham số
type
keyboard.type
Gõ văn bản vào ô nhập đang focus (hoặc vào phần tử theo XPath) bằng bàn phím vật lý, có tốc độ WPM và xác suất gõ nhầm để giống người thật. Bật Just Paste Text để dán bằng clipboard khi cần nhanh, nhập nội dung dài, hoặc tránh lỗi bộ gõ tiếng Việt. 6
press_key
keyboard.press_key
Bấm một phím đơn (Enter, Tab, Escape...) N lần, cách nhau delay_ms. Chọn được press (bấm-nhả), down (giữ) hay up (nhả) để dựng thao tác giữ phím phức tạp. 4
combo_key
keyboard.combo_key
Bấm một tổ hợp phím dạng Ctrl+A, Ctrl+Shift+P, Alt+Tab — nhấn theo thứ tự rồi nhả ngược lại. Dùng cho copy/paste, mở DevTools, chuyển cửa sổ. 1
vcopy
keyboard.vcopy
Lưu một chuỗi vào clipboard ảo của A13 theo số slot (index), không đụng clipboard thật của Windows. Cho phép giữ nhiều mẩu dữ liệu song song trong cùng workflow. 2
vpaste
keyboard.vpaste
Dán nội dung từ slot clipboard ảo đã lưu bằng vcopy vào ô nhập hiện tại hoặc phần tử theo XPath. 2

4. BrowserControl 8 action

Action Chức năng Tham số
Next
browser.next
Đi tới trang kế tiếp trong lịch sử duyệt web (tương đương nút Forward). 0
Previous
browser.previous
Quay lại trang trước trong lịch sử duyệt web (tương đương nút Back). 0
Refresh
browser.refresh
Tải lại trang hiện tại (F5). 0
URL
browser.url
Điều hướng tab hiện tại tới một URL và chờ tới trạng thái tải chỉ định (load / domcontentloaded / networkidle / commit). Chọn networkidle khi trang render bằng JS và cần chờ dữ liệu về. 3
NewTab
browser.new_tab
Mở một tab mới với URL cho trước; tùy chọn chuyển focus sang tab đó luôn hay giữ nguyên tab đang làm việc. 2
CloseTab
browser.close_tab
Đóng một tab theo chỉ số; bỏ trống thì đóng tab đang hoạt động. 1
CloseOthersTab
browser.close_others_tab
Đóng tất cả tab trừ tab được giữ lại. Dùng để dọn cửa sổ về trạng thái sạch giữa hai vòng lặp workflow. 1
SwitchTab
browser.switch_tab
Chuyển focus sang tab theo chỉ số (0 là tab đầu tiên). Mọi action sau đó tác động lên tab này. 1

5. ElementAction 4 action

Action Chức năng Tham số
wait_element
element.wait_element
Chờ tới khi phần tử đạt trạng thái mong muốn: present / visible / editable, hoặc phủ định của chúng. Đây là "chốt đồng bộ" nên đặt trước mỗi thao tác click/gõ để tránh thao tác vào trang chưa render xong. 4
get_text
element.get_text
Đọc nội dung văn bản của phần tử theo selector/XPath và trả về trong output của node — dùng để lấy giá trị hiển thị trên trang cho các bước sau. 3
get_attribute
element.get_attribute
Đọc một thuộc tính DOM của phần tử (href, value, data-*, class...) và trả về. Dùng khi thông tin cần lấy nằm trong attribute chứ không phải text hiển thị. 4
count_element
element.count_element
Đếm số phần tử khớp selector/XPath. Dùng để kiểm tra danh sách đã load đủ chưa, hoặc rẽ nhánh workflow theo số kết quả tìm được. 2

6. ImageAction 10 action

Action Chức năng Tham số
ImageClick
image.image_click
Tìm ảnh mẫu trên màn hình rồi click vào đó. Dùng khi phần tử không có DOM ổn định để bám (canvas, ảnh, popup native, iframe chéo miền). 6
ImageMove
image.image_move
Tìm ảnh mẫu trên màn hình rồi chỉ di chuyển chuột tới đó, không click — để hover hiển thị tooltip/menu. 5
ImageType
image.image_type
Tìm ảnh mẫu (thường là một ô nhập), click vào rồi gõ văn bản vào đó. Gộp image_click + type thành một bước. 7
ImageWait
image.image_wait
Chờ tới khi ảnh mẫu XUẤT HIỆN trên màn hình hoặc hết timeout. Dùng làm chốt đồng bộ khi không có DOM để chờ. 4
NotImageWait
image.not_image_wait
Ngược lại image_wait: chờ tới khi ảnh mẫu BIẾN MẤT. Điển hình là chờ spinner/màn hình loading tắt đi. 4
WaitColor
image.wait_color
Chờ tới khi TẤT CẢ các điểm tọa độ chỉ định cùng mang đúng màu mong muốn (sai số ±tolerant mỗi kênh RGB). Cách kiểm tra trạng thái nhẹ và nhanh hơn so khớp ảnh. Action này luôn chạy đồng bộ; hết giờ mà chưa khớp thì node báo lỗi. 3
Clean ImageStorage
image.clean_image_storage
Dọn kho ảnh tạm mà các action image đã tải/cắt về trên máy Client. Chạy cuối workflow để không phình ổ đĩa. 0
wait_to_image
image.wait_to_image
Chờ ảnh mẫu xuất hiện theo cơ chế so khớp confidence (PyAutoGUI locate) và trả về vị trí tìm được. Khác nhóm temperature ở thuật toán so khớp và ở việc trả về danh sách kết quả. 7
check_image_exist
image.check_image_exist
Kiểm tra NGAY một lần xem ảnh mẫu có trên màn hình không rồi trả kết quả, không chờ. Dùng để rẽ nhánh if/else trong workflow. 5
image_search
image.image_search
Tìm tất cả vị trí khớp ảnh mẫu trên màn hình (tối đa max_results) và trả về danh sách tọa độ. Dùng khi cần lặp qua nhiều mục giống nhau. 5

7. OthersAction 8 action

Action Chức năng Tham số
random
others.random
Nhờ máy Client sinh giá trị ngẫu nhiên (số, mật khẩu, màu RGB/HEX, hoặc tọa độ chuột) và trả về ngay cho các bước sau. Node tự ép chạy đồng bộ với timeout 10s và ẩn các trường chung. 19
check_popup_and_frame
others.check_popup_and_frame
Quét và liệt kê các popup/cửa sổ con và iframe đang có. Chạy trước khi switch để biết chính xác cần chuyển vào đâu. 0
switch_to_popup
others.switch_to_popup
Chuyển ngữ cảnh làm việc sang cửa sổ popup có tiêu đề khớp. Bắt buộc trước khi thao tác trong cửa sổ đăng nhập OAuth/thanh toán. 1
switch_to_frame
others.switch_to_frame
Chuyển ngữ cảnh vào một iframe (chọn theo index=, name=, css= hoặc default). Không làm bước này thì mọi selector bên trong iframe đều không tìm thấy. 1
switch_to_default
others.switch_to_default
Quay về ngữ cảnh trang gốc sau khi đã vào iframe/popup. Quên bước này là nguyên nhân phổ biến khiến các action tiếp theo "không thấy phần tử". 0
accept_alert
others.accept_alert
Đồng ý hộp thoại alert/confirm/prompt của trình duyệt (bấm OK), có thể điền sẵn nội dung cho prompt. 2
cancel_alert
others.cancel_alert
Từ chối hộp thoại alert/confirm/prompt của trình duyệt (bấm Cancel). 1
execute_javascript
others.execute_javascript
Chạy một đoạn JavaScript ngay trong trang và trả kết quả về workflow. Lối thoát cho những việc UI không làm được: đọc biến JS, sửa DOM, gọi hàm nội bộ của trang. 2

8. EmailAction 1 action

Action Chức năng Tham số
read_mail_code
email.read_mail_code
Đăng nhập IMAP vào hòm thư, lọc thư mới theo người nhận/thời gian, rồi bóc mã xác thực ra — theo độ dài + kiểu ký tự, hoặc theo XPath của phần tử chứa mã. Dùng cho luồng OTP/2FA khi đăng ký hoặc đăng nhập. 14

9. DeveloperAction 6 action

Action Chức năng Tham số
get_active_code
developer.getcode
Lấy HTML của frame đang hoạt động. Dùng khi dựng selector: xem chính xác trang đang render gì. 0
get_iframe_code
developer.get_iframe_code
Lấy HTML của một iframe theo chỉ số, không cần switch vào nó trước. 1
get_full_code
developer.get_full_code
Gom HTML của trang chính + tất cả iframe (tùy chọn kèm bản pierce shadow DOM qua CDP) thành một khối. Nặng nhất nhưng đầy đủ nhất — node tự nới timeout thêm 15s. Dùng khi không rõ phần tử nằm ở frame nào. 4
get_info
developer.get_info
Trả về trạng thái máy Client: kích thước màn hình, vị trí chuột, tiêu đề cửa sổ đang focus, số tiến trình trình duyệt, profile GPM đang mở... Bước đầu tiên nên chạy khi debug "sao không thấy gì". 0
capture
developer.capture
Chụp màn hình máy Client và lưu thành file PNG trên máy đó. Dùng để lưu bằng chứng hoặc soi lại lỗi sau khi workflow chạy đêm. 3
count_element
developer.count_element
Đếm phần tử khớp selector/XPath (bản dành cho debug, tương đương Element → count_element). 2

10. General Debug 1 action

Action Chức năng Tham số
debug_publish
general.debug_publish
Bắn một bản tin tùy ý (text/JSON/số/cờ) qua MQTT để kiểm tra đường truyền node ↔ broker ↔ Client. Dùng khi nghi ngờ sai topic, sai credential hoặc Client không subscribe. 4

Sinh tự động bởi tools/gen_doc_html.js từ ACTION_SPECS (package n8n-nodes-c12_pyautogui_web@0.1.34) · 2026-07-22 · Đừng sửa tay file này — sửa _notes/ hoặc source rồi chạy lại npm run doc:build.